zoukankan      html  css  js  c++  java
  • 窗体单例模式

    在winform应用程序中,创建两个窗体form1和form2。

    form1中有一个button,button的click事件时打开窗体2:

      private void button1_Click(object sender, EventArgs e)
            {
                Form2 form = new Form2();
                form.Show();          
            }

    当程序运行时,单击窗体1的Button可以出现form2并且继续点击依然会出现form2,我们此时可以使用单例模式来使只有第一次点击button时出现form2,再点击无效。

    我们在Form2.cs中写入这样一段代码:

      private static Form2 _form;
      public static Form2 Create()
            {
                if (_form == null)
                {
                    _form = new Form2();
                }
                return _form;
            }

    这段代码保证了当_form new过之后不会再重新new一个form2对象,从而达到了单例模式的效果,

    同时我们改一下button的click事件中的代码:

      private void button1_Click(object sender, EventArgs e)
            {
                Form2 form = Form2.Create();
                form.Show();
            }
  • 相关阅读:
    jquery height
    正则表达式的一点奇怪
    this和call
    ajax views
    史上变态的模块
    在php中有什么用
    localhost访问不了
    $.extend abc
    $.extend
    和人沟通的一个要点
  • 原文地址:https://www.cnblogs.com/rurui/p/6565211.html
Copyright © 2011-2022 走看看