Ich muss in der Lage sein, eine RichTextBox nach unten zu scrollen, auch wenn ich keinen Text anhänge. Ich weiß, dass ich Text anhängen und dann den Start der Auswahl festlegen kann. Ich möchte jedoch aus visuellen Gründen sicherstellen, dass es unten angezeigt wird, sodass ich keinen Text hinzufüge.
c#
winforms
scroll
richtextbox
Sehr sehr Kirsche
quelle
quelle
Das
RichTextBox
wird bis zum Ende gescrollt, wenn es den Fokus hat und SieAppendText
zum Hinzufügen der Informationen verwenden. Wenn SieHideSelection
auf false setzen, wird die Auswahl beibehalten, wenn der Fokus verloren geht, und der automatische Bildlauf wird fortgesetzt.Ich habe eine Log Viewer-GUI entworfen, die die folgende Methode verwendet. Es verbrauchte bis zu einem vollen Kern, um Schritt zu halten. Wenn Sie diesen Code entfernen und
HideSelection
auf false setzen , sinkt die CPU-Auslastung auf 1-2%.//Don't use this! richTextBox.AppendText(text); richTextBox.ScrollToEnd();
quelle
In WPF können Sie ScrollToEnd verwenden:
quelle
Code sollte wie folgt in das TextChanged-Ereignis des Rich-Text-Felds geschrieben werden:
private void richTextBox_TextChanged(object sender, EventArgs e) { richTextBox.SelectionStart = richTextBox.Text.Length; richTextBox.ScrollToCaret(); }
quelle
Es besteht keine Notwendigkeit für:
Das macht den Trick:
quelle