在开发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 = 0;
    this.txt_content.ScrollToCaret();
}

  问题解决了,一切看似很好,后来你却发现,问题是解决了,但每次textbox追加内容时,都会“闪”那么一下。这个时候,如果你写的程序要频繁的更新textbox的内容,如显示一个程序的安装过程,灾难降临了。你就看吧,那个框框会“闪”的你眼晕!

  把上面那部分代码从你的程序中删掉吧!在更新textbox内容的地方用下的代码试试:

  

//向textbox追加内容
txt_content.AppendText(str);

  运行你的程序吧!

转载于:https://www.cnblogs.com/bynet/archive/2010/06/01/1749208.html

winform程序textbox滚动条保持在最下面 内容不闪烁相关推荐

  1. 如何使Winform的Textbox滚动条保持在最后

    Winform编程中,使用的Textbox控件,我们很有可能会遇到需要随时更新其内容(比如聊天窗口文字的更新),当内容过多的时候,就会出现滚动条,如何让滚动条时刻跟随内容的最下面内容呢? 1. 在[设 ...

  2. winform程序多行textbox滚动条移动当前光标位置

    在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改为Ture时(即多行显示状态),ScrollBars属性改为Vertical(内容过多时,显 ...

  3. 重写Winform的Textbox单行模式下滚动条。

    C# Textbox,必须同时设置属性Multiline = True.ScrollBars=Horizontal.WordWrap=False才会显示出水平滚动条,且默认字体大小下,控件的Size. ...

  4. C#之VS2010ASP.NET页面调用Web Service和winform程序调用Web Service

    一:用ASP.NET调用Web Service 打开VS2010,打开"文件-新建-网站",选择"ASP.NET网站" 选好存储位置,语言后点击确定,进入默认页 ...

  5. C#中Winform程序中如何实现多维表头【不通过第三方报表程序】

    问题:C#中Winform程序中如何实现多维表头. 在网上搜了很多方法,大多数方法对于我这种新手,看的都不是很懂.最后在新浪博客看到了一篇比较易懂的文章:[DataGridView二维表头与合并单元格 ...

  6. webbrowser1 脚本报错_c# winform程序 webBrowser 当前页面的脚本发生异常 找不到成员...

    c# winform程序 webBrowser 当前页面的脚本发生错误 找不到成员 本帖最后由 yz2653410 于 2014-01-11 21:03:25 编辑 以下为页面代码 using Sys ...

  7. Winform程序怎么降低占用的内存?

    1 Winform程序怎么降低占用的内存?winform程序占用的内存数一直居高不下,提供给用户的手册中说明内存不能大于50MB,但是每次运行的时候,内存都会飙高到100多MB. 2 3 后来终于发现 ...

  8. winform程序捕获全局异常,对错误信息写入日志并弹窗

    使用场景:在winform程序中如果没对方法进行try catch操作,若方法内出错,则整个程序报错并退出,如下图 如果程序已在客户手中,若没对错误的详细信息进行拍照,我们则不知道错误原因是什么.我们 ...

  9. winform程序读取和改写配置文件App.config元素的值

    在开发Web项目的时候,会有一个配置文件Web.config,用来存放一些全局的变量,如连接数据库用的字符串.相应的,在开发winform程序时,也有一个配置文件,它就是App.config,这个文件 ...

最新文章

  1. ubuntu系统下载编译android源码
  2. 如果算力足够根本不需要标注太多数据
  3. 活动选择的贪心算法与动态规划
  4. 安卓 sqlite数据存入mysql_在Android上简单导出和导入SQLite数据库
  5. 页面跳转多种方法(加传参)
  6. leetcode 122. 买卖股票的最佳时机 II(贪心算法)
  7. @Service @Autowired
  8. 07_Python的控制判断循环语句1(if判断for循环)_Python编程之路
  9. Spark Client启动原理探索
  10. 在Vue+springBoot环境中如何实现单点登录(SSO)
  11. webrtc2sip项目说明
  12. 关于”Hi,火星人!“广告语来历的考证
  13. PPPoE拨号以及失败解决思路
  14. 微信公众号 调用红包接口
  15. 开机显示Reboot and select proper boot device or insert boot media in selected
  16. 英语月份、星期、日期的缩写
  17. 史上最长最全!围绕故障管理谈SRE体系建设
  18. ueditor统计字数中文_UEditor设置最大字数限制
  19. Unity3D 制作场景地图 插件
  20. 数据分析day1之折线图

热门文章

  1. FMCW雷达基本原理(通俗易懂)篇2
  2. 《给忙碌者的天体物理学》简单的概念地图
  3. Delphi测试题——将字符串10ad200d3 中的数字合计
  4. 全志V3S嵌入式驱动开发(多按键输入驱动)
  5. 利用Foxit Reader的PDF Printer实现提权
  6. linux kill 12,kill -9 ,kill -12,kill -15
  7. thinkpad E330 WIN8 改装 WIN7有感
  8. npm插件XLSX使用记录
  9. 成都哪家机构的Java培训比较好,求一个不坑的?
  10. 前程无忧岗位数据可视化分析报告