Mise en surbrillance d’une ligne dans un RichTextBox1, numéro de ligne = une variable

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.

entrez la description de l'image ici

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.