机房重构----单例模式

在机房重构中,我们会遇到当点击一个按钮的时候就会出现一个窗体,当再次点击该按钮的时候,就会又出现一个窗体,这样是不允许也是没有必要的。那如何解决这个问题呢?在学过设计模式之后,肯定想到的就是单例模式了。要解决这个问题就是要用到单例模式。

private static ChangePassword change;
        private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (change==null||change.IsDisposed )
            {
                change = new ChangePassword();
                change.ShowDialog();
            }
            
            
        }

有了这段代码就能够解决这些问题了。

但是还有一个问题是:

   

 通过两张图的对比就能看出来,一张修改密码的页面在上面,另一张是在下面的,是因为在点击空白处的时候,修改密码就会跑到主页面的后面,那怎么解决这个问题呢?

在上的代码中有一句是:change.showDialog();这个方法就可以解决了,或者在最初设计的时候设置位父窗体和子窗体也可以。

 

 

 

 

Guess you like

Origin blog.csdn.net/weixin_45309155/article/details/118756866