积极答复者
如何防止Form控件之间的消息死循环?

问题
答案
-
事件的sender可以知道是那里触发的,在B中检查这个来源,如果是A那里过来的就不触发A的事件。
family as water- 已标记为答案 mldarkMember 2010年4月15日 13:34
-
你好!
我一般使用一个变量进行状态标实来解决这个问题。
我举个例子:有两个方法 A, B。A 调用 B,B 再调用 A,导致了死循环。
我的解决方法如下:
bool sysAction = false; void A() { if (sysAction == true) return; try { sysAction = true; B(); } finally { sysAction = false; } } void B() { A(); }
知识改变命运,奋斗成就人生!- 已标记为答案 mldarkMember 2010年4月15日 13:33
全部回复
-
事件的sender可以知道是那里触发的,在B中检查这个来源,如果是A那里过来的就不触发A的事件。
family as water- 已标记为答案 mldarkMember 2010年4月15日 13:34
-
你好!
我一般使用一个变量进行状态标实来解决这个问题。
我举个例子:有两个方法 A, B。A 调用 B,B 再调用 A,导致了死循环。
我的解决方法如下:
bool sysAction = false; void A() { if (sysAction == true) return; try { sysAction = true; B(); } finally { sysAction = false; } } void B() { A(); }
知识改变命运,奋斗成就人生!- 已标记为答案 mldarkMember 2010年4月15日 13:33