Hallo 😃. Ich bin neu hier und habe mal eine Frage:
Ich habe es geschafft, dass wenn ich einen Hotkey drücke, der Text der aktuellen Zeile der RichTextBox ausgelesen und analysiert wird. Je nach dem wird der RichTextBox ein Text hinzugefügt. Mein Beispiel:
var line = richTextBox1.GetLineFromCharIndex(this.richTextBox1.SelectionStart);
var s = this.richTextBox1.Lines[line];
var lineStart = richTextBox1.GetFirstCharIndexFromLine(line);
richTextBox1.Select(lineStart, s.Length);
richTextBox1.SelectedText = "<" + s + ">" + "</" + s + ">";
Und mit die SelectionStart setzen:
this.richTextBox1.SelectionStart = 1 + s.Length + 3 + s.Length + 1;
Nun wird die Selection auf die erste Zeile der RichTextBox übertragen. Es handelt sich bei diesem Programm um einen HTML Editor. Wenn ich jetzt z.B. in der 20. Zeile bin, funktioniert das alles nicht mehr. Wenn ich jetzt z.B. in die Zeile 60 ein center eingebe, dann soll der Text als <center>...</center> angezeigt werden. Bei dem ... soll der Cursor gesetzt werden. Könntet ihr mir vielleicht weiterhelfen?
Ich bin mir nicht sicher ob ich die Aufgabe verstanden habe aber ich versuche es mal. Du möchtest ein Wort markieren, zum Beispiel "Haus", anschließend einen "HotKey" drücken und das Wort "Haus" mit dem HTML <center> Tag umfassen?
Hallo,
funktioniert das alles nicht mehr
Das hilft uns nicht viel weiter.
Was genau funktioniert nicht (Cursor wird nicht gesetzt, Text wird falsch eingefügt, falscher text markiert, wird eine Exception geworfen, wenn ja welche .....)?
Mit dieses Informationen können wir die Ursache bestimmt besser eingrenzen.
@nicky: Es soll wohl der markierte Text durch ein öffnenes und schließendes HTML-Tag ersetzt werden.
Nobody is perfect. I'm sad, i'm not nobody 🙁
Eine Idee wäre den gesamten Text in drei Teile zu zerlegen.
Soweit alles mit .IndexOf() und SubString() machbar.
Anschließend müssen die Teile wieder zusammengefügt werden, wobei der zweite Teil vorher noch bearbeitet werden muss. Also:
Soweit nachvollziehbar?