gpt4 book ai didi

c# - 应用程序.DoEvents();

转载 作者:太空狗 更新时间:2023-10-30 00:06:45 25 4
gpt4 key购买 nike

如何让我的 C# 表单(比如说处于 for 循环中)免于锁定?我调用 Application.DoEvents();在循环之前还是之后?据我所知,使用 DoEvents 方法可以防止我的应用程序锁定。

最佳答案

您不应使用 Application.DoEvents() 来保持您的应用程序响应。

调用此方法将允许调度任何等待的窗口消息。这意味着如果用户单击按钮(或执行任何其他用户交互),将处理该操作。因此,这可能会导致重入。如果他们按下与导致您正在处理的循环的按钮相同的按钮,您将最终在完成之前再次调用例程!

相反,您应该使用 BackgroundWorker线程来执行长过程,然后在操作完成后执行所需的任何其他操作。例如,一旦按下一个按钮,您将启动工作线程,然后禁用您的按钮,这样就无法再次按下它。工作线程完成后,您将再次启用该按钮。

关于c# - 应用程序.DoEvents();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/574110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com