Hallo erstmal,
ich bin auf der Suche nach einer Möglichkeit die Postion des Cursors in einer Richtextbox auszulesen und wieder zu setzen.
Folgendes Problem. Ich möchte, dass bestimmt Wörter, sollten sie eingetippt werden in der Box, Rot angezeigt werden. Das klappt auch schon ganz gut.
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
if (richTextBox1.Text.Contains("#Uploadtitel#") == true)
{
richTextBox1.Select(richTextBox1.Text.IndexOf("#Uploadtitel#"), 13);
richTextBox1.SelectionColor = Color.Red;
}
richTextBox1.DeselectAll();
}
Wenn ich jetzt jedoch weiterschreiben will, springt er jedes mal mit dem Cursor hinter das Wort. Logisch, da nach dem DeselectAll(); der Cursor hinter dem letzten markierten Wort ist. Das macht ein Arbeiten leider unmöglich. Nun dachte ich mir ich frage vor dem Markieren der entsprechenden Wörter die Cursor Postion ab und setze den Cursor nach dem DeselectAll(); wieder an seine ursprängliche Position.
Jedoch hab ich keinen schimmer, wie ich die Position auslesen/setzen kann.
Ich hatte zwar auch schon das hier gefunden: http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox.caretposition.aspx aber das ist nur für Vista und da ich mit XP arbeite bringt mich das leider auch nicht weiter.
Ich hoffe die Problematik ist ersichtlich und ihr könnt mir helfen.
Liebe Grüße,
ein blutiger Anfänger
Wenn ich nicht hier bin, findest du mich auf code-bude.net.
Hallo blutiger_anfänger,
Ich möchte, dass bestimmt Wörter, sollten sie eingetippt werden in der Box, Rot angezeigt werden.
Da würde ich dir eher zu dem Ansatz raten, der in [Tutorial] Einfaches Keyword-Highlighting vorgestellt wird. Er ist deutlich flackerfreier und resourcenschonender als deiner.
Die entsprechende Property der WinForms RichTextBox heißt SelectionStart.
aber das ist nur für Vista und da ich mit XP arbeite bringt mich das leider auch nicht weiter.
Nein, das ist auch für XP.
Allerdings ist das die Doku zur gleichnamigen RichTextBox der WPF.
if (richTextBox1.Text.Contains("#Uploadtitel#") == true)
Ich danke dir für die schnelle Antwort. Haut alles wunderbar hin mit SelectionStart - hätt' ich auch früher draufkommen können, dachte bloß wenn ich nicht's markiert hab gibt's auch kein SelectionStart. 😉
Was die Sache mit dem "Anfängerfehler" angeht lass ich mich natürlich auch gern belehren.
Liebe Grüße,
ein blutiger Anfänger
Wenn ich nicht hier bin, findest du mich auf code-bude.net.