日期:2014-05-20  浏览次数:20912 次

请教线程问题
主线程内开子线程运行一个socket监听方法。
在监听方法内部当接受到socket发来得消息我要实列化一个窗体,然后show,这个时候窗体是出于挂起状态的,不能完全显示窗体上的控间,这个是由于监听程序一直运行所以才这样,各位大哥有没有好的办法。

我想就用一个子线程做监听动作。当接受到消息时候能不能交给主(父)线程来显示窗体,具体怎么做?或者其他方法也行,只要能把窗体正确show出来。

------解决方案--------------------
up
------解决方案--------------------
invoke
------解决方案--------------------
试试..

public delegate void MyInvoke();

//显示窗体
private void ShowForm()
{
Form2 frm=new Form();
frm.ShowDialog();
}

//线程过程函数中
MyInvoke mi=new MyInvoke(ShowForm);
this.BeginInvoke(mi);