Laden...

TextBox automatisch scrollen

Erstellt von Floschi vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.882 Views
Floschi Themenstarter:in
193 Beiträge seit 2007
vor 14 Jahren
TextBox automatisch scrollen

Hallo,

ich weiß es hagelt gleich wieder Kritik von wegen Suche benutzenund so weiter.

Ich setze Text in eine Textbox und will automatisch ans Ende scrollen.

Habe schon diesen Artikel gefunden (xxxx) Doch irgendwie klappt mein Code nicht:


            this.textBox1.Text = text
            this.textBox1.Focus();
            this.textBox1.ScrollToCaret();

Muß ich irgendwas noch umstellen oder?

**:::{style="color: darkblue;"}If debugging is the process of removing bugs, then programming must be the process of putting them in.){darkblue}** Dijkstra
M
194 Beiträge seit 2008
vor 14 Jahren

Hallo Floschi,

habe gerade mal in der MSDN nachgesehen. ScrollToCaret führt einen Bildlauf bis zur Einfügemarke durch. Das heißt du musst in deiner Textbox noch die Einfügemarke ans Ende setzen, dann funktioniert es.

Beste Grüße
Stefan

"Indem Sie über dieses ernste Thema lachen disqualifizieren Sie sich selbst."
mrleeh.de

M
91 Beiträge seit 2008
vor 14 Jahren

So müssts gehen:

this.textBox1.SelectionStart = this.textBox1.Text.Length;
this.textBox1.ScrollToCaret(); 
Floschi Themenstarter:in
193 Beiträge seit 2007
vor 14 Jahren

Hallo,

seltsamerweise funktioniert der ganze Spaß mit einer Richtextbox, aber bei einer normalen Textbox funktioniert das ganze nicht.

Ich hab jetzt einfach die Richtextbox benutzt und somit habe ich das was ich will.

Gruß Floschi

**:::{style="color: darkblue;"}If debugging is the process of removing bugs, then programming must be the process of putting them in.){darkblue}** Dijkstra
79 Beiträge seit 2007
vor 14 Jahren

Die Lösung:

this.textBox1.SelectionStart = this.textBox1.Text.Length - 1;
this.textBox1.SelectionLength = 0;
this.textBox1.ScrollToCaret();

Da der Zeichen-Index mit 0 beginnt, ist das letzte Zeichen bei Stelle Length - 1 😁