首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

急救 怎么保证打开窗体的唯一性

2012-01-24 
急救 如何保证打开窗体的唯一性?这是我要打开窗体的二句代码,我想实现点击toolStripMenuItem1时,如果窗体

急救 如何保证打开窗体的唯一性?
这是我要打开窗体的二句代码,我想实现点击toolStripMenuItem1时,如果窗体没有打开,那就打开,如果已经打开,再点击的时候什么也不做? 谢谢各位?
private void toolStripMenuItem1_Click(object sender, EventArgs e)
  {
  Form f2 = new Form();
  f2.Show();
  }


 

[解决办法]

C# code
      Form f2 = new Form();         private void button1_Click(object sender, EventArgs e)        {                f2.Show();        }
[解决办法]
C# code
        Form f2;        private void toolStripMenuItem1_Click(object sender, EventArgs e)         {             if(!f2.Created)            {               f2=new Form();               f2.Show();            }        }
[解决办法]
单件模式

C# code
public class Form2(){  private Form2 f2;  private Form2()  {     //构造函数声明为私有  }  public static Form2 GetForm2()  {    if(this.f2==null)    {      this.f2=new Form2();    }    return this.f2;  }}
[解决办法]
private void toolStripMenuItem1_Click(object sender, EventArgs e) 


if(f2==null||f2.Disposed)
{Form f2 = new Form(); }
f2.Show(); 
}
[解决办法]
参考如下:

C# code
private Form f2 = null;private void toolStripMenuItem1_Click(object sender, EventArgs e){    if (f2 == null || f2.IsDisposed)    {        f2 = new Form();    }    f2.Show();}
[解决办法]
Form f2 = null;
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
if (f2 == null || f2.IsDisposed)
{
f2 = new Form();
}
f2.Show();



[解决办法]
如果是MDI窗体可参考下
private void toolStripMenuItem1_Click(object sender, EventArgs e) 

Form f2 = new Form(); 
f2.Show(); 
foreach (Form form in this.MdiChildren)
{ if (form is Form)
{
form.Focus();
return;
}
}
Form f2 = new Form();
f2.MdiParent = this;
f2.Show();

 } 

热点排行