11
votes

Richtextbox équivalent de textbox.acceptSreturn

Je chante plusieurs boîtes de texte sur RichTextbox pour obtenir certaines des fonctionnalités froides.

J'ai eu mes textes de texte configurées à AcceptreTurn afin que la touche Entrée crée une nouvelle ligne plutôt que de laisser le contrôle. La RichTextbox ne semble pas avoir cette fonctionnalité.

Y a-t-il un moyen simple de faire cela ou dois-je capturer toutes les touches et les gérer individuellement?


0 commentaires

4 Réponses :


20
votes

Remarque: Ce problème ne se produit que lorsque vous définissez la propriété "AccepterButton" du formulaire.

Définir le Richtextbox.acceptStab sur true. Pour une raison quelconque, cela fonctionne pour les onglets et la touche Entrée. Si vous voulez seulement les touches Entrée, vous devrez écrire un code personnalisé.


1 commentaires

Merci. Il s'avère que j'avais cet ensemble. J'ai oublié que je manipule des presses essentielles au niveau de la forme pour vous déplacer entre les commandes en entrée. Je vais devoir accrocher toutes les touches et vérifier pour entrer à chaque fois pour remplacer mes propres comportements. Merci.



2
votes

La solution consiste à remplacer isinputkey : xxx

après réglage accepterstab à true, vous vous assurez que le richtextbox < / code> traite à la fois l'onglet et la touche de retour. Avec la mise en œuvre ISInputKey ci-dessus, nous nous assurons que l'onglet et la touche Maj + onglet n'atteignent jamais le richtextbox afin qu'ils soient utilisés pour la navigation.

Le Le remplacement ci-dessus doit être collé dans une classe dérivée de richtextbox .


0 commentaires

2
votes

Étant donné que Carter a souligné que cela ne s'applique que si acceptée est définie et que l'autre solution suggère de dériver la classe RichTextbox, j'ai trouvé une autre solution simple. Il suffit d'accepter l'acceptation du temps que le / une richtextbox a le focus. Voici un exemple de code:

private void RichText_Enter(object sender, EventArgs e)
{
    AcceptButton = null;
}

private void RichText_Leave(object sender, EventArgs e)
{
    AcceptButton = OKActionButton;
}


0 commentaires

0
votes

Changer simplement une option d'acceptation dans la propriété RichtextBox Tourner à "True", il fonctionnera comme une magie


0 commentaires