4

我正在向 WinForms TextBox 对象添加新的日志行,这会导致文本框滚动到底部。我怎样才能防止这种情况并保留我目前的职位?(一个简短的代码片段会有所帮助)

4

4 回答 4

3

实际上, AppendText() 不会做你想做的事(尝试添加更多文本,但在某些时候一切都会出错)

答案实际上在 Win32 API 中,幸运的是,一个 SO 用户已经完美地实现了这个行为: 自动滚动文本框使用的内存比预期的要多

于 2010-02-28T14:57:49.360 回答
1

在 C# 中,您可以尝试<yourTextBox>.Text += "your new text";代替<yourTextBox>.AppendText("your new text");.

于 2012-12-19T20:40:35.963 回答
1

对所提问题的正确和简单的答案是SelectedText(读/写)属性。您可以为其分配一些文本,该文本将出现在插入符号位置,而不必滚动文本框。您可以SelectionStart在此之前使用将插入符号移动到正确的位置。

于 2013-06-06T06:44:02.417 回答
-1

由于某种原因,SelectionStart 没有做我想做的事。它被重置为 0。我发现这篇文章回答了我想要的(即使用文本框作为日志)。答案是 TextBox.AppendText()

于 2009-02-26T11:33:28.170 回答