日期:2014-05-19  浏览次数:21117 次

c# 实例化窗体
一个按钮点击事件有以下代码:

form2   f2   =   new   form2();

f2.Show();

每点一次按钮就会创建一个窗体的实例,

每个窗体的名字都是form2?f2?

我怎么区分它们?可以区分它们吗



------解决方案--------------------
这么区分有什么用,form2出现多个后执行的操作都是一样的。
------解决方案--------------------
1、不重复弹出相同的窗体
public static Form2 form;
if (Program.form == null)
{
Program.form = new Form2();
}
Program.form.Show();
2、如何判断
form.Tag通过这个给每个窗体加入一个你能够识别的标识然后通过tag去识别
------解决方案--------------------
也就是form2类的多个对象而以,随你怎么用
------解决方案--------------------
每次产生的都是局部变量,过程结束就没了.根本无法操作.
在全局上宣言一个数组.
型号为FORM2
------解决方案--------------------
可以用数据嘛,如果点击一次,就创建一个:
例如:
Dictionary <int,form2> dic = new Dictionary <int,form2> ();
然后按索引取出就可以了。
------解决方案--------------------
tigerlgf(南湖学士)
你的代码语法检查都通不过啊.
------解决方案--------------------
每次产生的都是局部变量,过程结束就没了.根本无法操作.
在全局上宣言一个数组.
型号为FORM2
=========
up
------解决方案--------------------
每个实例都是你类的一个对象罢了.
------解决方案--------------------
用tag 或者text標示
------解决方案--------------------
TAG

------解决方案--------------------
可用静态static!!!
------解决方案--------------------
如果有共用属性或变量就 static,如果没有就取FORM中的一个值区分,TAG,TEXT,自定义变量都行。
------解决方案--------------------
Handle(从 Control 继承) 获取控件绑定到的窗口句柄。
可以用
form2 f2 = new form2();

f2.Show();

f2.Handle 来区别每个窗口吧。