Re: [問題] 避免某method重複被呼叫

看板C_Sharp作者 (NiceBoat.)時間13年前 (2010/09/20 16:37), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《proach (pazroach)》之銘言: : 我現在的程式,把 MouseMove evnet掛到一個自己寫的method上, : 此method執行起來需要一點時間,所以我希望當第一次的運算尚未結束時, : 新的 MouseMove動作不會去呼叫,避免再執行一次。 : 我現在的方法是,宣告一個 public bool MethodIsWorking; : 進入 method後,檢查是否是 true, 是的話就 return, 否則設定為 true, : 離開前重為 false. : 這方法好像沒有用?我在 if( MethodIsWorking ) return; 處設立中斷點, : 重來沒有觸發過。 : 請問是我的方法有問題?還是 C#內本來就會等第一次的 MouseMove event : 處離完畢才呼叫第二次? 剛剛再試了一下,是這樣沒錯。 public bool a = false; private void Form1_Click(object sender, EventArgs e) { if (a) throw new Exception("Form1_Load 執行中"); a = true; while (true) { } } 這個只要滑鼠點第一次後,整個程式就不會有回應 連畫面都不會去更新 程式根本不會理第二次的點擊 -- 20330 6/17 - □ (本文已被吃掉) 幹!這梗有毒...救命~~ 20331 6/17 - □ (本文已被吃掉) 〒 〒 20332 1 6/17 - □ (本文已被吃掉) ▼▼▼▼ 20333 XX 6/17 - 囧 (哈哈拎北有毒) \▲▲▲▲\ = ●20334 1 6/17 - □ (本文已被吃掉) 20335 6/17 - □ (本文已被吃掉) 口卡口卡嘗百草 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.233.129.124

09/20 22:32, , 1F
已經進入While(true)無窮迴圈跑不出來了
09/20 22:32, 1F

09/20 22:37, , 2F
請不要在 handle function 裡面放無窮迴圈...穩死
09/20 22:37, 2F
文章代碼(AID): #1CbnrIU2 (C_Sharp)
文章代碼(AID): #1CbnrIU2 (C_Sharp)