首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

InvokeRequired难题解决办法

2012-05-30 
InvokeRequired难题如果想在工作线程(不是UI线程)中创造一个窗体,避免线程安全,一般会C# codeif(this.form

InvokeRequired难题
如果想在工作线程(不是UI线程)中创造一个窗体,避免线程安全,一般会
 

C# code
if(this.form2.InvokeRequired)   {   MethodInvoker mi = new MethodInvoker(form2Invoke);               this.webBrowser.BeginInvoke(mi);   }   else{form2Invoke();}void form2Invoke(){this.form2=new Form();form2.ShowDialog();}



但是如果是这个this.form2是待创建呢?现在还是NULL怎么办?
一般可以this.InvokeRequired代替this.form2.InvokeRequired,然后再创建这个form2;
可是如果this不是主界面程序,而是一个类库,那又如何处理?

[解决办法]
如果是用户控件,那么判断写到自己控件代码内部。

如果不是,最好不要在UI层以外调用涉及到UI的东西。

热点排行