gpt4 book ai didi

从线程触发时,C# ShowDialog() 不会阻塞主窗体

转载 作者:太空宇宙 更新时间:2023-11-03 18:31:25 36 4
gpt4 key购买 nike

我有一个带有主窗体和多个后台线程的 Windows 窗体应用程序。为了显示“不错”的消息,我使用 ShowDialog() 实现了一个显示为模态对话框的表单。

所有对 ShowDialog() 的调用都是在主窗体的窗体级别(而不是线程级别)实现的,但有时我会从一个线程触发一个事件,该事件将在窗体上处理主窗体的层次。在那些情况下,对话框不再是模态的……主窗体没有被阻塞。当对 ShowDialog() 的调用不是从线程触发时,它根据需要是模态的。

如何确保每次调用 ShowDialog() 时都会阻塞主窗体?

最佳答案

How can I make sure that every call to ShowDialog() will block the main form?

在主线程上执行对 ShowDialog() 的调用。如果您需要从不同的线程调用它们,请使用 Invoke() 在主线程上运行它们。

关于从线程触发时,C# ShowDialog() 不会阻塞主窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21680304/

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