Comment rendre le texte dans une zone de texte WinForms non sélectionnable sans le désactiver?
Question
Est-il possible de rendre le texte d'une zone de texte non sélectionnable sans désactiver la zone de texte? C'est une RichTextBox et j'ai besoin de ses fonctionnalités de formatage et de sélection. Je ne peux pas le désactiver car je veux gérer les événements MouseMove et MouseDown.
Jusqu'à présent, j'ai pensé à désactiver la zone de texte et à y placer un panneau qui déléguerait ses événements aux gestionnaires de zone de texte, mais je ne peux pas rendre le panneau transparent afin de masquer la zone de texte.
Merci.
La solution
Pourquoi ne pas gérer les événements .Enter ou .GotFocus pour effacer toute sélection effectuée?
Vous pouvez voir le contraire de ce que vous vouliez dans sélectionner automatiquement tout le texte. focus dans WinForms TextBox .
Autres conseils
Que diriez-vous de la gestion d'un événement de changement de sélection comme ceci:
private void richTextBox1_SelectionChanged(object sender, EventArgs e)
{
this.richTextBox1.SelectionStart = this.richTextBox1.Text.Length;
}
Je ne sais pas trop à quoi vous voulez en venir (vouloir quelque chose d'indélébile, mais ses fonctionnalités de sélection), mais la définition de ReadOnly
doit-elle réellement accomplir ce que vous recherchez?