TextBox.AppendText()不自动滚动

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

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

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

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

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

可能导致这种情况的原因以及如何解决?

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

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

以下是调用的方法:

 void scroll() { this.Invoke(new MethodInvoker(delegate() { textBox1.SelectionStart = textBox1.Text.Length; textBox1.ScrollToCaret(); })); } 

它通过置于load事件中的任务调用:

 Task task1 = new Task(new Action(scroll)); task1.Start();