问题描述
我在 C# 表单应用程序上有一个文本框.我用有关表单的 Load 事件的信息填充 TextBox.然后我调用以下命令:
I have a TextBox on a C# Forms Application. I populate the TextBox with information on the Load event of the form. I then call the following:
this.txtLogEntries.SelectionStart = txtLogEntries.Text.Length;
this.txtLogEntries.ScrollToCaret();
但是 TextBox 没有滚动到底部?
However the TextBox does not scroll to the bottom ?
这仅适用于 Load 事件.一旦它运行,我还会从应用程序的其他部分更新此 TextBox,一旦这些事件之一更新为 TextBox,它就会滚动到底部.
This only applies to the Load event though. I also update this TextBox from other parts of the application once it's running, and as soon as one of these events update's the TextBox, it is scrolled to the bottom.
那么,在表单加载事件中预填充文本框时,如何让它滚动到底部?
So, how can I get it to scroll to the bottom when pre populating the TextBox in the Form Load event?
推荐答案
尝试将代码放在 Form 的 Shown 事件中:
Try putting the code in the Form's Shown event:
private void myForm_Shown(object sender, EventArgs e)
{
txtLogEntries.SelectionStart = txtLogEntries.Text.Length;
txtLogEntries.ScrollToCaret();
}
这篇关于滚动到 C# TextBox 的底部的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!