Hallo meine Experten.
Ich habe mal wieder ein Problem, aber diesmal habe ich viele kleine Ansätze gefunden, doch es haut nicht hin. Wie ihr bereits in diesem
Thema entnehmen könnt, weiß ich nun wie man den Text der ausgewählten Zeile analysieren und bearbeiten kann. Das hat ja auch alles prima hingehauen.
Nun möchte ich jedoch die SelectionStart so setzen, dass der Cursor an folgender Stelle(...)eingefügt wird:
HTML-Dokument
1: 2:
| <center>...</center> <a href="">...</a> |
An der ...-Stelle soll nun der Cursor gesetzt werden. Dafür habe ich folgende Ideen:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| var line = this.richTextBox1.GetLineFromCharIndex(this.richTextBox1.SelectionStart); var lineStart = richTextBox1.GetFirstCharIndexFromLine(line); richTextBox1.Select(lineStart, s.Length); string a = this.richTextBox1.SelectedText; this.richTextBox1.SelectedText = "<" + a + "></" + a + ">"; this.richTextBox1.SelectionStart = 1 + a.Length + 3 + a.Length + 1; |
Nun wird zwar der Cursor gesetzt, jedoch kann man die Funktion nicht mehr richtig nutzen. Wenn ich jetzt z.B. in eine andere Zeile gehe, wird zwar der Text wieder eingetaggt, jedoch wird die SelectionStart nicht getsetzt. Wie kann ich die SelectionStart so setzen, dass in jeder x-beliebigen Zeile der Text eingetaggt wird und die SelectionStart korrekt gesetzt wird?