J’ai une variable, disons-le = 5, puis j’aimerais que le numéro de ligne 5 soit mis en surbrillance “bleu” dans mon RichTextBox1. est-ce possible?
Ou devrais-je utiliser quelque chose comme un ListBox, DataGridView etc.
Ceci mettra en évidence le texte d’une ligne donnée dans un RichTextBox
si WordWrap
est désactivé:
void highLightALine(RichTextBox rtb, int line, Color hiLight) { int i1 = rtb.GetFirstCharIndexFromLine(line); int i2 = rtb.GetFirstCharIndexFromLine(line + 1); if (i2 < 0) i2 = rtb.Text.Length; rtb.SelectionStart = i1; rtb.SelectionLength = i2 - i1; rtb.SelectionBackColor = hiLight; }
Notez que si WordWrap
est true, la ligne rest en surbrillance, mais uniquement dans la mesure où elle est visible. Sa continuation sur la ligne suivante ne sera pas modifiée.
Notez également que seul le Text
peut être mis en surbrillance. Les espaces vides ne peuvent pas être surlignés . Voici un exemple de tentative de création par le propriétaire d'une sous-classe RTB.