[問題] WinForm event 執行完畢後會死當

看板C_Sharp (C#)作者 (TCBeliever)時間13年前 (2012/03/22 21:03), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
我寫了一隻winForm程式,背後會呼叫另外一隻程式去執行一些東西, 一段code如下: Form1_Load { //do something //RunProcess(); } bool RunProcess() { myProcess = new Process(); //... myProcess.Start(); myProcess.EnableRaisingEvents = true; myProcess.Exited += new System.EventHandler(MyProcessExited); //.. return true; } void MyProcessExited(object sender, EventArgs e) { myProcess.Close() //...改變一些UI的值 MessageBox.Show("完成"); //結束 } 但是程式在背景程式結束後,跳出完成之後,UI的部份就會當掉。 請問有沒有人知道我的程式寫法錯在哪?或是犯了哪個設計上的問題? thanks -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.59.164.109

03/23 04:13, , 1F
改變UI的值時cross thread??
03/23 04:13, 1F

03/23 08:31, , 2F
更改 myProcess.Close() 的執行時機,看看
03/23 08:31, 2F

03/23 11:11, , 3F
感謝樓上兩位,我去嘗試一下。
03/23 11:11, 3F
文章代碼(AID): #1FQoC4JA (C_Sharp)
文章代碼(AID): #1FQoC4JA (C_Sharp)