作者zerosystem (卡车)
看板C_Sharp
标题[问题] 写多执行绪时Form.show失效
时间Thu Oct 11 19:24:08 2007
我正在写一个server client系统
client连线後会开始run一个新的thread
if (myTcpClient != null)
return;
myTcpClient = new TcpClient();
myTcpClient.Connect(this.ServerAddress, 2345);
this.binWriter = new BinaryWriter(myTcpClient.GetStream());
new Thread(new ThreadStart(loginThread)).Start();
在loginThread时产生一个新的表单
this.newForm = new FormMain();
this.newForm.Show();
这时候newForm会无法show出
用 newForm.showDialog() 虽然可以解决
但是由於showDialog()的回传值是DialogResult
而当我在跨执行绪存取控制项时,要用到
MethodInvoker miLogginShow = new MethodInvoker(this.FormLoggin.ShowDialog);
this.BeginInvoke(miLogginShow);
但是new MethodInvoker时要传入一个void方法,所以这也不行
所以现在不知道到怎麽样顺利的让新的Form给show出来
专题的程式卡在这里,恳请高手指点...Orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.205.236
1F:推 holybible:笨方法,把 showDialog() 再多包一层 10/13 01:07
2F:推 zerosystem:谢谢,这样的确是可以用了,不过我发现问题似乎在 10/13 21:00
3F:→ zerosystem:Thread上 10/13 21:00