1

我有一个触发 6 次的事件,我希望我的弹出窗口只出现一次而不是 6 次。我尝试使用标志,但无法从同一事件中重置它。我试图比较值,但没有奏效,因为我一直得到相同的结果。有任何想法吗 ?

4

2 回答 2

2

我假设这是在单线程的 winforms 应用程序中:您可以使用静态布尔变量“EventReceived”,在显示弹出窗口后的第一个事件中设置为 true;只要“EventReceived”为真,就不再显示弹出窗口;如果弹出窗口关闭,则将“EventReceived”设置回 false。

当然,问题是,为什么你会多次收到事件。也许您可以避免这种情况或以不同的方式处理它 - 但您必须向我们提供更多信息。

于 2013-03-12T11:10:48.807 回答
1

尝试使用静态标志变量。然后您可以从同一事件中重置标志。在应用程序第一次执行 onEvent 代码段时,您需要标记该标志。在 inEvent 代码段中,您可以包含您的操作,并且在到达该部分代码之前,您必须检查您的标志。(通过 if 子句)。如果您需要在 6 次后重置标志,您可以维护一个计数器变量,并通过计数器值计算您所处的触发周期。当计数器达到 6 时,您可以重置标志变量。

于 2013-03-12T11:19:47.653 回答