[問題] 寫多執行緒時Form.show失效
我正在寫一個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
推
10/13 01:07, , 1F
10/13 01:07, 1F
推
10/13 21:00, , 2F
10/13 21:00, 2F
→
10/13 21:00, , 3F
10/13 21:00, 3F