滚动到 C# TextBox 的底部

Scroll to bottom of C# TextBox(滚动到 C# TextBox 的底部)
本文介绍了滚动到 C# TextBox 的底部的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 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 的底部的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)