form_1 frm=new form_1();
frm.show;(因为是用户控件,只能用show)用户在多次点了之后,会建立多个frm,怎么防止这个问题?
frm.show;(因为是用户控件,只能用show)用户在多次点了之后,会建立多个frm,怎么防止这个问题?
解决方案 »
- 画面上如何让字符串安字节位显示,并且可以编辑。
- window2008 R2 系统IIS7.5 Session丢失的问题
- 全世界都没人知道该怎么办?
- C#下载文件,怎么得到文件的类型
- 求正则表达式,在线等
- 高分求算法高手,关于一个最优匹配算法的问题
- 怎么样在上传的时候把pdf文件存入ORACLE数据库中?
- 托盘气泡不显示
- ItemTemplate里的Button为什么循环后,所以的的按纽都Button变成false了??
- 请叫高手,谁知道c#做出来的应用程序怎么做安装盘!急!
- 我是大学老师,请问学生该如何学习C#
- 急:请问如何在动态增加的table控件中动态增加radiobuttonlist控件
用api:FindWindow
有则不new
{
frm.Focus();
return;
}
frm = new form_1();
frm.show();
在你写的这段代码之前就需要实例化form_1不然frm.created是不可用的,出错所以还是不行,下面通不过,因为frm.created之前需要frm=new from_1() 如果这样了,就已建立了多个form_1 怎么办呢?
*****************
form_1 frmif( frm != null && frm.Created )
{
frm.Focus();
return;
}
frm = new form_1();
frm.show();
if(第一次運行)
{
frm = new form_1();
}
else
{
if( frm != null && frm.Created )
{
frm.Focus();
return;
}
frm = new form_1();
frm.show();}不就行了
if(第一次運行)
{
frm = new form_1();
}
else
{
if( frm != null && frm.Created )
{
frm.Focus();
return;
}
else
{
frm = new form_1();
frm.show();
}
}不就行了
{
Form1 form1;
buttonOpen_Click(object sender,....)
{
if (form1 == null)
{
form1 = new Form1(this);
}
form1.Show();
}
}
public class Form1
{
Form parent;
Form1(Form parentP)
{
parent = parentP;
}
Form1_Closed()
{
parent.form1 = null;
}
}
打开的同时赋值true,关闭赋值false。发现现在true就不打开。
if ((frm!=null) && (!frm.IsDisposed ))
{
//如果frm不为空或者没有释放,就激活frm
frm.Activate() ;
frm.WindowState=FormWindowState.Normal;
return;
}
//否则新建实例,并show();
frm =new Form2 ();
frm.Show();
Form2 fm=null;
foreach(Form f in this.mdichilden)
{
if(f is Form2)
{fm=(Form2)f;break;}
}
if(fm!=null)
{}
else{}
你写的只有在用户点了一次后就不会有错,第一次点时会报错的,因为frm.IsDisposed之前得new这个,不然就会有错to:xiaomatian(趴趴熊◎%#……※×)
我不是mid
zhongwanli(一心只为做民工。头!!!!)
提出的方案
.. Class
{
Form1 form1 = new Form1();
.....
if(form1.Created)
{
form1.Activate();
}
else
{
form1 = new Form1();
form1.show();
}
}
如果你还是不放心的话可以自己跟踪一下程序看第一次运行是否会执行
else
{
form1 = new Form1();
form1.show();
}
{
protected MyForm()
{
...
} private static MyForm myForm = null; public static MyForm GetInstance()
{
if(MyForm.myForm == null)
{
MyForm.myForm = new MyForm();
}
return MyForm.myForm;
}
}// How to use:
MyForm mf = MyForm.GetInstance();