防止窗口多次打开

Ann*_*nna 0 c# wpf

我在c#中创建了一个弹出窗口.我有一个按钮,当用户点击按钮时,窗口会弹出.我的问题是,如果用户碰巧多次点击该按钮,该窗口将被多次打开.用户打开窗口后,如果用户单击按钮,我不希望再次打开窗口.这有可能实现吗?

我让窗口弹出如下:

PopUp myPopUp = new PopUp(); 
myPopUp.show(); 
Run Code Online (Sandbox Code Playgroud)

我正在使用wpf.

Rom*_*mbé 5

如果用户需要在弹出窗口打开后访问主窗口,我将创建一个类成员,该成员保存对弹出窗口的引用,并关闭引用以下内容的弹出窗口组null:

PopPp myPopUp = null;

private void OpenPopUp()
{
    if(myPopUp == null)
    {
        myPopUp = new PopUp();
        myPopUp.Closed += (x,y) => { myPopUp = null; };
        myPopUp.Show();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果用户不需要与主窗口交互,则弹出窗口只需使用即可ShowDialog.在弹出窗口关闭之前,它将阻止对主窗口的任何输入:

PopUp myPopUp = new PopUp(); 
myPopUp.ShowDialog(); 
Run Code Online (Sandbox Code Playgroud)