我尝试了以下操作以使我的文本框文本自动滚动:
我正在使用的步骤非常简单:
尽管尝试了这里提到的解决方案,但文本不会自动滚动:
什么可能导致这种情况,我该如何解决?
更新:如果我创建一个按钮并使用它来调用AppendText()我得到了所需的行为.但是,如果我尝试从窗体的构造函数或Load()事件调用AppendText,那么我得到附加的文本,但TextBox不滚动.这不是一个重复的问题,因为我在过去没有看到有人发布此问题.
由于表单在构造函数和加载事件期间还没有完全准备好,所以我必须使用一个任务让它在准备就绪后滚动:
以下是调用的方法:
void scroll()
{
this.Invoke(new MethodInvoker(delegate()
{
textBox1.SelectionStart = textBox1.Text.Length;
textBox1.ScrollToCaret();
}));
}
Run Code Online (Sandbox Code Playgroud)
它通过置于load事件中的任务调用:
Task task1 = new Task(new Action(scroll));
task1.Start();
Run Code Online (Sandbox Code Playgroud)