wpf预防第二次点击按钮
问题描述:
我再次遇到问题。当我点击按钮时,窗口出现。当我再次点击按钮时,同样的窗口再次出现。我想当我第一次点击按钮时,页面出现。 但我想防止第二次点击。任何人都可以帮助我解决这个问题吗?提前致谢。wpf预防第二次点击按钮
private void Dictionary_Click(object sender, RoutedEventArgs e)
{
Dictionary dic = new Dictionary();
dic.Show();
dic.Topmost = true;
}
答
设置一个简单的布尔值来检查窗口是否已经打开?
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()
如果你想这个窗口是最顶层的,只有一个实例。
我试过了。有用。但是当我关上窗户并想再次打开时,我无法打开。你有什么想法吗? 谢谢大家。 – neki 2010-03-12 07:24:28
非常感谢。有效。我是一个新的WPF和.NET。再次感谢你。干得好。 – neki 2010-03-12 09:44:18