滚动到C#文本框[重复]的底部(Scroll to bottom of C# TextBox [du

2019-06-27 21:01发布

这个问题已经在这里有一个答案:

  • 如何自动滚动到多行文本框的底部? 11个回答

我有一个C#窗体应用程序一个TextBox。 我填充在窗体的Load事件信息文本框。 然后我把以下内容:

this.txtLogEntries.SelectionStart = txtLogEntries.Text.Length;
this.txtLogEntries.ScrollToCaret();

然而,文本框不滚动到底部?

这仅适用于Load事件虽然。 一旦它的运行我还更新从应用程序的其他部分该文本框,并尽快这些事件更新的一个是文本框,它是滚动的底部。

所以,我怎样才能得到它滚动至底部预先在Form Load事件填充文本框时?

Answer 1:

尝试把在表单代码的事件所示:

private void myForm_Shown(object sender, EventArgs e)
{
  txtLogEntries.SelectionStart = txtLogEntries.Text.Length;
  txtLogEntries.ScrollToCaret();
}


Answer 2:

虽然Load事件(发生时所示的形式之前 )进行处理,不存在形式显示又,因此没有视觉状态已经建立。 滚动不可见的控制,因此很可能是因为嘿,有什么可滚动的滚动视窗没有做任何事情仅仅是在控制的视图,但不是其状态的一部分。

你可以具有与所述滚动部件移动到更成功Shown的形式的情况下(发生之后被首先显示的表格)



文章来源: Scroll to bottom of C# TextBox [duplicate]