TextBox.AppendText()不自动滚动

gon*_*ins 3 .net c# textbox

我尝试了以下操作以使我的文本框文本自动滚动:

我正在使用的步骤非常简单:

  1. 将文本框拖到窗体上.
  2. 将文本框更改为多行.
  3. 添加垂直滚动.
  4. 使用AppendText()将文本添加到文本框中.

尽管尝试了这里提到的解决方案,但文本不会自动滚动:

如何自动滚动到多行文本框的底部?

什么可能导致这种情况,我该如何解决?

更新:如果我创建一个按钮并使用它来调用AppendText()我得到了所需的行为.但是,如果我尝试从窗体的构造函数或Load()事件调用AppendText,那么我得到附加的文本,但TextBox不滚动.这不是一个重复的问题,因为我在过去没有看到有人发布此问题.

gon*_*ins 7

由于表单在构造函数和加载事件期间还没有完全准备好,所以我必须使用一个任务让它在准备就绪后滚动:

以下是调用的方法:

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)