不知不觉在博客园待了一年多了,我也从当年的大菜鸟变成了小菜鸟,但愿本身能坚持写点东西,记录本身的点点滴滴,好了进入正题;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