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