MDI子窗体中多线程弹出等待提示


           
在进行长时间处理时弹出提示窗口
在一般窗口中下面的代码可实现

            FrmWait wForm;
            wForm = new FrmWait();
            Thread thread= new Thread((ThreadStart)delegate
            {
                Application.Run(wForm);
            });
            thread.Start();
            DoSomthing();//数据处理函数耗时比较长
            wForm.Invoke((EventHandler)delegate { wForm.Close(); });

但是在MDI模式的子窗体中使用,报错在创建窗口句柄之前不能在控件上调用Invoke。
while (!this.IsHandleCreated) 

    ; 

没作用。
对线程不是很了解有什么解决办法吗?

4 个解决方案

#1


thread.Start();线程执行后,代码会继续运行,wForm可能还没有准备好

#2


试了一下。在Load中不行,在其他事件中可以。

#3


有什么办法没有,和MDI模式有关系吗

#4


放在Shown里了。
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告