委託刷新窗體

不知不覺在博客園待了一年多了,我也從當年的大菜鳥變成了小菜鳥,但願本身能堅持寫點東西,記錄本身的點點滴滴,好了進入正題;ui

不知道你們有沒有遇到過這樣的問題, 在UI界面,運行後臺線程,後臺線程中包含着控制窗體的某些控件的刷新,此時界面會在刷新時有些頓卡或屏幕在刷新同樣,讓人感受很不爽線程

曾經看過某個大神寫的文章解決了這個問題,如今找發現找不到了,如今作個記錄吧:orm

public class UPDATEUI圖片

{博客

     delegate void UpPictureBoxHandler(Form _form, PictureBox _pictureBox, Image img);//更新圖片控件的圖片string

     public static void UpPictureBox(Form _form, PictureBox _pictureBox, Image img)
     {
         if (!_form.InvokeRequired)
        {
             try
            {
              _pictureBox.BackgroundImage = img;
            }
            catch
           { }
        }
        else
       {
           _form.BeginInvoke(new UpPictureBoxHandler(UpPictureBox), new object[] { _form, _pictureBox, img });
       }
   }form

 

     delegate void UpTextBoxHandler(Form _form, TextBox _textBox, string _text);//更新文本框控件的文字class

     public static void UpTextBox(Form _form, TextBox _textBox, string _text)
     {
         if (!_form.InvokeRequired)
        {
             try
            {
              _textBox.Text = _text;
            }
            catch
           { }
        }
        else
       {
           _form.BeginInvoke(new UpTextBoxHandler(UpTextBox), new object[] { _form, _textBox, _text});
       }
   }後臺

 

}object

相關文章
相關標籤/搜索