【转】winform程序textbox滚动条保持在最下面 内容不闪烁
2024-08-24 07:04:55
在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改为Ture时(即多行显示状态),ScrollBars属性改为Vertical(内容过多时,显示竖状滚动条),显示内容过多时就会出现竖状滚动条。
默认情况下,当textbox内容改变时,winform会自动把textbox的滚动条定位到textbox的最上面。但这显然不是我们想要的结果,比如我们在开发一个聊天程序时,当发送了一条消息后,却还要把滚动条拖到最下面才能看到,这就让人火大了。
所以得想个办法让textbox的内容更新时,滚动条保持下最下面,让最新追加到textbox中的消息显示出来。一般用到的方法是在textbox的TextChanged事件中写如下代码:
private void txt_content_TextChanged(object sender, EventArgs e)
{
this.txt_content.SelectionStart = this.txt_content.Text.Length;
this.txt_content.SelectionLength = ;
this.txt_content.ScrollToCaret();
}
问题解决了,一切看似很好,后来你却发现,问题是解决了,但每次textbox追加内容时,都会“闪”那么一下。这个时候,如果你写的程序要频繁的更新textbox的内容,如显示一个程序的安装过程,灾难降临了。你就看吧,那个框框会“闪”的你眼晕!
把上面那部分代码从你的程序中删掉吧!在更新textbox内容的地方用下的代码试试:
//向textbox追加内容txt_content.AppendText(str);
运行你的程序吧!
最新文章
- 软件工程-构建之法 理解C#一小段程序
- 【转】MySQL中varchar最大长度是多少?
- 管理分支:git branch
- 运行时c函数
- shell脚本之lnmp的搭建
- 如何分离数据库 (SQL Server Management Studio)
- jQuery 分步引导 插件
- Gamit的安装
- Oracle EBS-SQL (OM-3):销售连接停靠站时冲减库存出错处理.sql
- js iframe跨域访问
- building system busy, pls wait !!
- C语言-最后一次作业
- rust visual studio editoe &; debugger
- 产品大神1--工具axure
- luogu 3582 线段树
- 第五节,K-近邻算法(KNN)
- JDBC(11)—数据库连接池
- TUN/TAP编程实现
- TensorFlow环境搭建
- 淘宝开源的H5移动开发UI框架genie-ui