可在多线程下TextBox中显示信息,和控制滚动的一个函数

一、可在多线程下调用显示信息。
二、可以滚动到添加的最后一行。
三、不添加新行,仅在最后一行动态显示动容。
变量messageBox的类型是TextBox

 1           private   void  showMsg( string  msg,  bool  needScroll)
 2          {
 3               if  ( this .InvokeRequired  ==   true )
 4              {
 5                  ShowMsgDelegate smd  =   new  ShowMsgDelegate(showMsg);
 6                   this .Invoke(smd, msg, needScroll);
 7              }
 8               else
 9              {
10                   if  (needScroll  ==   true )
11                  {
12                      messageBox.AppendText(msg  +   " \r\n " );
13                      messageBox.SelectionStart  =  messageBox.Text.Length;
14                  }
15                   else
16                  {
17                       int  li  =  messageBox.Text.LastIndexOf( " \r\n " +   " \r\n " .Length;
18                      messageBox.SelectionStart  =  li;
19                      messageBox.SelectionLength  =  messageBox.Text.Length  -  li;
20                      messageBox.SelectedText  =  msg;
21                  }
22              }
23              Application.DoEvents();
24          }

你可能感兴趣的:(text)