我有一个名为Console的多行TextBox。在运行时,此文本框中充满了一些通信数据。我用
TextBox.AppendText("txt\r\n");
向其添加一行,这样我就可以让它自动滚动下来。我的问题是我希望能够不让它自动滚动下来。所以我想我会尝试
TextBox.Text += "text";
但是滚动到框的开头。我最近的尝试是使用TextBox.SelectionStart在我编写之前保存位置并将其恢复到之后,但这似乎没有什么区别,仍然让我回到文本的开头。
int txtPosition = Console.SelectionStart;
Console.Text += "TextToAdd";
Console.SelectionStart = txtPosition;
理想情况下,我希望能够让盒子保持原状,而不是滚动到文本的开头或结尾。
答案 0 :(得分:2)
我认为您需要一个 richtextbox 而不是通用文本框,这将为您提供所需的功能。
享受!
答案 1 :(得分:-1)
对于WinForms文本框,您可能应该这样做:
textBox.SelectionStart = 0;
textBox.ScrollToCaret(); // force current position back to top