在开发winform程序时,会用到textbox控件来显示信息,当把textbox的Multiline属性改成Ture时(即多行显示状态),ScrollBars属性改成Vertical(内容过多时,显示竖状滚动条),显示内容过多时就会出现竖状滚动条。ide
默认状况下,当textbox内容改变时,winform会自动把textbox的滚动条定位到textbox的最上面。但这显然不是咱们想要的结果,好比咱们在开发一个聊天程序时,当发送了一条消息后,却还要把滚动条拖到最下面才能看到,这就让人火大了。this
因此得想个办法让textbox的内容更新时,滚动条保持下最下面,让最新追加到textbox中的消息显示出来。通常用到的方法是在textbox的TextChanged事件中写以下代码:spa
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的内容,如显示一个程序的安装过程,灾难降临了。你就看吧,那个框框会“闪”的你眼晕!code
把上面那部分代码从你的程序中删掉吧!在更新textbox内容的地方用下的代码试试:orm
运行你的程序吧!blog