private void Button1_Click()
{
Form1 f1 = new Form1();
f1.Show();
}每次按这个 Button1 的时候,都会来个新的 Form1,我只想要一次,该怎么办呢?谢谢!

解决方案 »

  1.   

    Form1 f1 = new Form1(); 
    private void Button1_Click() 

    f1.Show(); 
    } 注意F1的CLOSE 不要释放这个..
      

  2.   

    Form1 f1 
    private void Button1_Click()
    {
    if(f1==null)
     f1 = new Form1();
    f1.Show();
      

  3.   


    public static int i;
    private void Button1_Click()
    {
    Form1 f1 = new Form1();
    f1.Show();
    i++;

    然后每次再调用这个事件的时候,先检测i的值,在进行处理
      

  4.   

    private void ShowForm(Form newForm)
            {
                foreach (Form form in this.MdiChildren)
                {
                    if (form.Name == newForm.Name)
                    {
                        form.Select();
                        return;
                    }
                }            newForm.MdiParent = this;
                newForm.Show();
            }每次打开窗体都用这个方法来打开.
    例如
    ShowForm(new Form1());
      

  5.   

    不是不断的show,而是你不断的new解决方法:单件模式
      

  6.   

    1.showdialog()
    2.或者判断线程中是否已经存在
    3.mutex 进程互斥
      

  7.   

    把Form1 f1 设置为类变量,不要实例化
    然后private void Button1_Click() 
    {
    if(f1 == null||f1.IsDisposed)

    f1 = new Form1(); 
    f1.Show(); 
    }
    } 这样就行了
      

  8.   

    http://www.cnblogs.com/wf5360308/articles/1260153.html
      

  9.   

    button事件的末尾设置Enable=false;