>我有一个按钮点击事件,它会弹出一个表单。在创建并显示现有表单之前,如何检查现有表单是否已存在?
这是我的代码
private void Button_Click(Object sender, RoutedEventArgs e( {
Wizard wizard = new Wizard();
if (wizard.IsVisible)
{
}
else
{
wizard.Show();
}
}
此处的代码不起作用,因为每次我从另一个窗口中单击按钮时都会创建新的弹出向导(窗体(。
要么使用 ShowDialog
并使其成为模态
或者使用对wizard
的引用引用或bool
标志进行检查。确保之后使用引用来设置它null
bool isOpen;
...
public void click()
{
if (!isOpen)
{
// do something
wizard = new Wizard();
wizard.Closing += (sender, args) =>
{
isOpen = false;
};
isOpen = true;
wizard.Show();
}
...
或如评论中所述。将按钮"已启用"属性设置为 false 以防止进一步命中
Enabled = false;