作者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
1F:→ scottzz:已经进入While(true)无穷回圈跑不出来了 09/20 22:32
2F:→ james732:请不要在 handle function 里面放无穷回圈...稳死 09/20 22:37