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

简介: 机房重构----单例模式

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


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


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


但是还有一个问题是:

2be4fad87a59478409f0cf51a5229c0b_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png221cc276489405f3e38be99cf49e9348_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTMwOTE1NQ==,size_16,color_FFFFFF,t_70.png


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


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


相关文章
|
7月前
|
设计模式 PHP
php设计模式--单例模式(三)
php设计模式--单例模式(三)
31 0
|
7月前
|
安全 Java 数据库
给大忙人写的单例模式的八种实现方法
给大忙人写的单例模式的八种实现方法
56 0
|
设计模式 安全 Java
23设计模式之 --------- 单例模式(二)
23设计模式之 --------- 单例模式(二)
46 0
|
设计模式 安全 Java
面试~设计模式---单例模式
面试~设计模式---单例模式
58 0
|
设计模式 C#
C# 机房重构单例模式
C# 机房重构单例模式
71 0
|
设计模式 SQL 缓存
23设计模式之 --------- 单例模式(一)
23设计模式之 --------- 单例模式(一)
115 0
|
设计模式 Java
18 java设计模式---单例模式
1 什么是单例模式 单例(单个实例)模式:采用一定方法,保证在整个系统中对某个类只能存在一个实例对象,并且本类只提供一个提取对象的方法
95 0
|
设计模式 安全 Java
设计模式学习05----之单例模式
单例模式,是我们最常用也最熟悉的一种设计模式,其使用要注意线程安全。
84 0
|
安全 Java 编译器
单例模式 的那点儿事儿
单例模式 的那点儿事儿
100 0
机房重构之单例模式的应用
机房重构之单例模式的应用