1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
private void richTextBox1_MouseDown(object sender, MouseEventArgs e)
{
if(e.Button == MouseButtons.Right) {
int pos = richTextBox1.GetCharIndexFromPosition(e.Location);
int start = 0;
int end = 0;
int i = pos;
// Début du mot sous le curseur
while(i > 0) {
if(Char.IsSeparator(richTextBox1.Text[i])) {
start = i + 1; // Exclure séparateur
break;
}
i--;
}
// Fin du mot sous le curseur
i = pos;
while(i < richTextBox1.Text.Length) {
if(char.IsSeparator(richTextBox1.Text[i])) {
end = i;
break;
}
i++;
}
// Fin du texte
if(i == richTextBox1.Text.Length) {
end = i;
}
// Sélection
int len = end - start;
if(len > 0) {
richTextBox1.Select(start, len);
}
}
} |
Partager