作者SDNiceBoat (NiceBoat.)
看板C_Sharp
標題Re: [問題] 避免某method重複被呼叫
時間Mon Sep 20 16:37:35 2010
※ 引述《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
→ scottzz:已經進入While(true)無窮迴圈跑不出來了 09/20 22:32
→ james732:請不要在 handle function 裡面放無窮迴圈...穩死 09/20 22:37