我有一个按钮点击事件,会弹出一个表单。如何在创建现有表单并显示之前检查现有表单是否已存在?
这是我的代码
private void Button_Click(对象发送者,RoutedEventArgs e) {
Wizard wizard = new Wizard();
if (wizard.IsVisible)
{
}
else
{
wizard.Show();
}
}
此处的代码不起作用,因为每次我从另一个窗口单击按钮时都会创建一个新的弹出向导(窗体)。
答案 0 :(得分:0)
使用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();
}
...
或者如评论中所述。将按钮Enabled属性设置为false以防止进一步命中
Enabled = false;