我遇到无法解析的“调用”问题。我尽可能在我的描述中尽可能详尽,但我对此很陌生,所以请耐心等待,如果您需要更多信息,请告诉我。被调用后执行两次的方法
我有一个后台线程运行,当提示将禁用主线程上创建的窗体上的一堆复选框。为了做到这一点,我需要安全地跨线程使用invoke
和一个委托,但我必须做的不正确。底线,当我在调试器中检查这个时,我发现它通过代码的ACTION部分运行两次,如果InvokeRequired
。我可以通过用else
括起ACTION来解决这个问题,虽然它不会通过else
两次运行,但它仍然尝试再次通过该方法。
delegate void ManualCurtainShuttoffHandler();
public void ManualCurtainShutoff()
{
if (InvokeRequired)
{
Invoke(new ManualCurtainShuttoffHandler(ManualCurtainShutoff));
}
// ACTION: Disable check boxes
}
我只想知道为什么它通过该方法运行两次。如果您需要更多信息,请告知我,我很乐意与您分享。