gpt4 book ai didi

c# - 如何干净地暂停一个线程,直到另一个线程完成或更改一个值

转载 作者:行者123 更新时间:2023-11-30 15:43:16 25 4
gpt4 key购买 nike

使用 C#:我有一个类“MsgBox”,这是一个针对我的应用程序格式化的特殊消息框。它在一个实例上运行,关键是当我调用时:'new MsgBox("Message Text");'它会暂停调用线程,直到表单得到响应/关闭或其他任何内容。我尝试在另一个线程上运行 Form 并使用 Thread.Suspend()/Resume() 并卡住整个计算机两三秒钟,然后工作正常。与 Thread.Join() 相同。有没有更有效的方法来保持线程?

最佳答案

您可以使用 Form.ShowDialog在您的应用程序中显示模式对话框的方法。调用此方法时,直到对话框关闭后才会执行后面的代码。

通过将对话框分配给窗体上 Button 的 DialogResult 属性或通过在代码中设置窗体的 DialogResult 属性,可以为对话框分配 DialogResult 枚举的值之一。然后此方法返回此值。您可以使用此返回值来确定如何处理对话框中发生的操作。例如,如果对话框已关闭并通过此方法返回 DialogResult.Cancel 值,您可以阻止执行调用 ShowDialog 后的代码。

关于c# - 如何干净地暂停一个线程,直到另一个线程完成或更改一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6887079/

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