c# - 从外部线程关闭模式对话框 - C#

标签 c# winforms user-interface

我正在努力寻找一种方法来使用 C# 创建我想要的表单功能。

基本上,我想要一个具有指定超时期限的模式对话框。看起来这应该很容易做到,但我似乎无法让它发挥作用。

调用 this.ShowDialog(parent) 后,程序流停止,如果用户不先单击按钮,我将无法关闭对话框。

我尝试使用 BackgroundWorker 类创建一个新线程,但我无法让它关闭不同线程上的对话框。

我是否遗漏了一些明显的东西?

感谢您提供的任何见解。

最佳答案

您需要在创建表单的线程上调用 Close 方法:

theDialogForm.BeginInvoke(new MethodInvoker(Close));

关于c# - 从外部线程关闭模式对话框 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009913/

相关文章:

.net - 当被不同的 dbContexts 跟踪时,我如何 "supposed"使对象在 WinForms 中保持同步?

c# - DateTimePicker:如何在 1753 之前设置 MinDate

user-interface - 图像查看器 - 标准 gui 控件,自下而上还是什么?

c# - 如何使用 ToString() 格式化 Duration?

c# - 启动 Windows 服务时无法找到程序集文件 'example.dll'

c# - 为什么 Winforms 中有所有不同的集合?

java - 在 Android 应用程序中更新背景颜色并在其间进行短暂 sleep

c# - 将无效日期处理为有效日期?

c# - 基本 WPF 应用程序需要 10 秒才能打开 (.NET 4.5)

c# - 单击按钮更改 View