我正在使用WPF(C#)编写一个程序。我使用这样的方法来打开和关闭窗口:
public static void openCloseWindow(Window toBeOpen, Window toBeClose)
{
toBeOpen.Show();
makeWindowCenter(toBeOpen);
toBeClose.Close();
}
字符串
在程序的一部分中,我使用了这样的方法:
openCloseWindow(new BestCustomerWindow,this);
型
因此最终用户可以在按钮上点击几次,并且可以打开许多窗口。
有什么方法可以避免在运行时打开窗口吗?
- 更多信息:*
让我点击一个按钮,这是打开窗口1。我想:
- 如果窗口1已关闭,请将其打开。
- 否则,如果窗口1已打开,则聚焦于窗口1。
6条答案
按热度按时间jchrr9hc1#
将
WINDOWNAME
替换为所需窗口的名称:字符串
6kkfgxo02#
阿巴德,
我认为你可以使用Mutex,请参考下面的代码(在App.xaml.cs文件中):
字符串
yuvru6vn3#
这段代码将完全满足您的要求:
只需存储对话框对象并检查它是否已经在showWindow中创建。
使用windows Closed事件清除对对话框对象的引用。
字符串
请注意这个问题已经在这里问过了
vc6uscn94#
我写了一个基于@ rand-towey answer的快速函数
字符串
用途
OpenNewOrRestoreWindow<SomeWindow>();
js81xvg65#
10年后,但希望对某人有用:
字符串
bf1o4zei6#
只是用
字符串
例如,我的窗口类名称是“Window 1”,使用“Window1.ShowDialog();”
如果Windows已经打开,它不会打开,它会发出警报声。