我有一个事件会触发6次,我希望我的弹出窗口只出现一次而不是6次。我试图使用一个标志,但我不能从同一个事件重置它。我试图比较值但不起作用,因为我总是有相同的结果。有任何想法吗 ?
答案 0 :(得分:2)
我认为这是一个单线程的winforms应用程序:你可以使用一个静态布尔变量'EventReceived',你在显示弹出窗口后在第一个事件中设置为true;只要'EventReceived'为真,就不要再显示弹出窗口;如果弹出窗口已关闭,请将“EventReceived”设置为false。
当然,问题是,为什么你多次收到这个事件。也许你可以避免这种情况或以不同方式处理它 - 但是你必须向我们提供更多信息。
答案 1 :(得分:1)
尝试使用静态标志变量。然后,您可以从同一事件重置标志。在应用程序第一次执行onEvent代码段时,您需要标记该标志。 在inEvent代码段中,您可以包含您的操作,在访问该部分代码之前,您必须检查您的标志。 (通过if子句)。 如果您需要在6次后重置标志,则可以保持计数器变量,并通过计数器值计算您所处的触发周期。当计数器达到6时,您可以重置标志变量。