我又遇到了问题。当我点击按钮时,会出现窗口。当我再次点击按钮时,同样的窗口再次出现。我想在第一次点击按钮时出现页面。 但我希望阻止第二次点击。任何人都可以帮我解决这个问题吗?提前谢谢。
private void Dictionary_Click(object sender, RoutedEventArgs e)
{
Dictionary dic = new Dictionary();
dic.Show();
dic.Topmost = true;
}
答案 0 :(得分:2)
设置一个简单的布尔值来检查窗口是否已经打开?
private bool isWindowAlreadyOpen = false;
private void Dictionary_Click(object sender, RoutedEventArgs e)
{
if (!isWindowAlreadyOpen)
{
Dictionary dic = new Dictionary();
dic.Show();
dic.Topmost = true;
isWindowAlreadyOpen = true;
}
}
应该做的伎俩。
修改强>
您必须注册窗口的关闭事件以取消设置布尔值:
private bool isWindowAlreadyOpen = false;
private void Dictionary_Click(object sender, RoutedEventArgs e)
{
if (!isWindowAlreadyOpen)
{
Dictionary dic = new Dictionary();
dic.Show();
dic.Topmost = true;
dic.Closed += Dictionary_Closed;
isWindowAlreadyOpen = true;
}
}
private void Dictionary_Closed(object sender, EventArgs e)
{
isWindowAlreadyOpen = false;
}
<强> EDIT2 强>
或者,如果您希望此窗口位于最顶层且只有一个实例,则可以使用dic.ShowDialog()
。