2010-06-08 6 views

Répondre

6

WinForms: En supposant

Mettre en place un gestionnaire d'événements MouseUp comme ceci:

private void richTextBox1_MouseUp(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     RichTextBox box = (RichTextBox)sender; 
     box.SelectionStart = box.GetCharIndexFromPosition(e.Location); 
     box.SelectionLength = 0; 
    } 
} 
+0

Bonne réponse, mais je vous suggère une légère amélioration. Il est de pratique courante que les applications Windows ne remplacent pas la sélection active par un clic droit si la sélection active est elle-même cliquée avec le bouton droit de la souris. Votre code peut accomplir cela en vérifiant simplement que GetCharIndexFromPosition renvoie un index en dehors de SelectionStart et SelectionStart + SelectionLength avant de définir la sélection. –

+0

Oui, cela semble raisonnable d'un point de vue de la convivialité. –

Questions connexes