我有From1和Form2两个窗体,在From1上有一个按钮,按钮中我通过下面代码显示From2,
但是,每点一次都显示一个From2,点多了就显示了一大堆From2,我想只显示一个From2,如果下次再点就提示次窗体已经打开,应该怎么实现,谢谢^_^---显示窗体的代码---
form_Students_Basic_Add form_Students_Basic_Add = new form_Students_Basic_Add();
form_Students_Basic_Add.Show();

解决方案 »

  1.   


    在From1 中搞个私有变量:叫private Form2 form2=null;
    if(form2==null)
     form2=new Form2();
    form2.Show();
      

  2.   


    在From1 中搞个私有变量:叫private Form2 form2=null;
    if(form2==null)
     form2=new Form2();
    form2.Show();
      

  3.   

    1.FORM1中定义一个FORM2的成员变量,在FROM1的构造中初始化FORM2(每个FORM1都有一个FORM2)
    2.FORM1中定义一个静态FORM2,构造中初始化(任意个FORM1共享一个FORM2)
      

  4.   

    在Form2中private static Form2 instance = null;
    public static Form2 Instance
    {
        get{ return instance;}
    }public Form2()
    {
        instance = this;
    }
    在Form1中调用if(Form2.Instance == null || Form2.Instance.IsDisposed)
    {
        Form2 frm = new Form2();
        Form2.Instance.show();
    }
    else
    {
        Form2.Instance.Activate();
    }
      

  5.   

    补充1楼:在From1 中搞个私有变量:
    private Form2 form2=null;
    if(form2==null || form2.IsDisposed)
    form2=new Form2();
    form2.Show();