Windows窗体打开文件对话框,如果对话框已显示,则阻止打开实例
本文关键字:对话框 实例 显示 文件 窗体 Windows 如果 | 更新日期: 2023-09-27 18:36:58
我的类上有一个OpenFileDialog实例,像这样。
public MyClass
{
public OpenFileDialog Dialog { get; set; }
public MyClass()
{
Dialog = new OpenFileDialog();
}
public void ShowDialog()
{
if (Dialog.ShowDialog() == DialogResult.OK)
{
DoStuff(Dialog.FileNames);
}
}
}
问题是,如果我垃圾邮件单击按钮打开对话框 3 次,对话框将弹出一次。关闭第一个对话框后,它将再显示两次。有什么方法可以检测对话框是否已经显示以防止弹出它打开?
编辑:我也在unity3d体验中使用它,利用System.Windows.Forms的Mono版本。正因为如此,实际上没有"拥有"对话框的形式,它是 Unity 游戏窗口。按下的按钮是游戏内的 GUI 元素。
谢谢
尝试:
Dialog.ShowDialog(this);
这里假设this
是包含按钮的表单。 这应将对话框显示为模式,其中窗体作为其所有者阻止您激活或使用窗体上的控件,直到对话框被关闭。