Laden...

richtextbox automatisch scrollen

Erstellt von hunter vor 17 Jahren Letzter Beitrag vor 15 Jahren 2.941 Views
H
hunter Themenstarter:in
1 Beiträge seit 2007
vor 17 Jahren
richtextbox automatisch scrollen

Hi,

also ich habe folgendes Problem und zwar habe ich eine richtexbox in die ich werte per timer konstant übergebe und nach einer zeit kommen die werte am ende des sichtfeldes der box an und der scroll balken taucht rechts auf nun is das problem das der nicht automatisch mit scrollt zu den aktuellen werten.
Hoffe jemand weiß wie man das behebt das der Balken immer weiter mit scrollt sobald die werte am bildschirmrand ankommen (vertikal).

Gibts da ne Lösung ???

Q
214 Beiträge seit 2006
vor 17 Jahren

Hallo,
ich meine wenn man die Methode rtf.AppendText("Neuer Text"); verwendet, scrollt er automatisch an das Ende der Textbox.

Sonst musst du per SelectionLength/-Start die gesamte Textbox einspannen und dann ScrollToCaret() aufrufen.

460 Beiträge seit 2004
vor 17 Jahren

Hallo Qwald,
nein er scrollt nicht automatisch. Aber folgender Trick hilft:

        private void richTextBox1_TextChanged(object sender, EventArgs e)
        {
            richTextBox1.Focus();
        }
49.485 Beiträge seit 2005
vor 17 Jahren

Hallo hunter,

RichTextBox.ScrollToCaret

herbivore

363 Beiträge seit 2007
vor 16 Jahren

Bei TextBox reichen die 2 Zeilen Code und er scrollt bei Aufruf immer runter. Sollte man das öfters haben empfiehlt es sich das TextChanged_Event zu abonnieren und dann die 2 Zeilen in ne Funktion zu schreiben.


this.tbDebug.SelectionStart = tbDebug.TextLength;
this.tbDebug.ScrollToCaret();

Gruß Cookiie

"Hail to the King, Baby!"

420 Beiträge seit 2007
vor 15 Jahren

Hallo @ all,

ich muss diesen Thread leider nochmal auffrischen.
Alle oben genannten Möglichkeiten funktionieren.
Nachteil:
Meine Textbox flackert sehr sehr stark, da sie immer wieder von oben nach unten scrollt. (Der Text bleibt zwar weitgehend unten, doch der Scrollbalken springt hin und her.
Gibt es vielleicht noch eine Lösung?
Danke!

Gruß Dennis

Gelöschter Account
vor 15 Jahren

evtl ein suspendlayout vor dem hinzufügen und dan nein resumelayout nach dem scrolltocaret?

420 Beiträge seit 2007
vor 15 Jahren

Hallo JAck30lena,

ich habe eben eine andere Möglichkeit gefunden:
Die Textbox springt nur, wenn sie den Focus hat. Nun setzte ich bei jedem Eintrag in die Textbox den Focus auf einen Button. Es funktioniert 🙂

Gruß Dennis