InvokeRequired难题解决办法
InvokeRequired难题如果想在工作线程(不是UI线程)中创造一个窗体,避免线程安全,一般会C# codeif(this.form
InvokeRequired难题
如果想在工作线程(不是UI线程)中创造一个窗体,避免线程安全,一般会
C# codeif(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的东西。