RichTextBox-Funktionen... Gibts diese????



  • Hi.
    Ich habe mich gestern blöde geschaut nach C#-Funktionen, Delegate usw. in Sachen RichTextBox.
    Dabei möchte ich einfach nur eine Abfrage herausbekommen, wie man die Cursorposition ermittelt, während Text in eine RichTextBox geschrieben wird. Ich fand leider nichts wirklich interessantes.

    Hat da jemand vielleicht eine Idee, wie ich die Spalte und Zeile der aktuellen Cursorposition ermittel?

    Ich habe zwar diese Alternativmöglichkeit (so in etwa):

    jedes Mal, wenn ein Zeichen getippt wird

    string a = (RichTextBox1.Text).SubString(0,RichTextBox1.SelectedText); // Länge zwischen Anfang und Cursor berechnen.
    string[] b = a.Split("\n");
    int c = b.Count();
    int d= b[b.Count-1].Length;

    c ist dann die Zeilennummer, d die Spalte (habe mal versucht, den Code hier zu posten, hoffe meine Idee stimmte so).
    Hat jemand da vielleicht sogar ne Lösung, wie man das möglicherweise mit weniger Rechenaufwand berechnen kann, außer mit meiner Enterzeichen-Auszählidee?



  • Du suchst wohl folgendes:

    int row = rtb.GetLineFromCharIndex(rtb.SelectionStart);
    int column = rtb.SelectionStart - rtb.GetFirstCharIndexOfCurrentLine();
    


  • Sehr gute Idee!

    Ich hing auch gestern an diesen Worten fest, kam aber leider nicht auf diese Lösung (besser gesagt: Mit meinem Aufbau lief gar nix).
    Ich versuchs später mal aus (am Firmen-PC hier ists leider schlecht).
    Falls was nicht so klappen sollte, wie ich es vorhatte, melde ich mich nochmal.

    Dank dir 😉


Anmelden zum Antworten