C#中Form窗体之间怎么传值?
4个回答
展开全部
如果是全局使用的可以单独声明静态变量。
如果是局部使用的话:
传入,通过构造函数;
传出,通过窗体事件。
举个例子,Form1在某方法中新建Form2实例、向其传入参数,并等待其关闭后得到传出的数据。
1.Form2应定义一个带有参数的构造函数,如public Form2(int InputParam){...}
2.在新建Form2实例时,通过构造函数传入数值,如 Form2 SubForm = new Form2(1);
3.在显示新实例SubForm之前,注册其窗体关闭事件,如SubForm.FormClosing += new FormClosingEventHandler(Form2_FormClosing);(在Form1中应定义这个Form2_FormClosing处理函数)
4.在Form2_FormClosing处理函数中获取SubForm(作为事件的sender)并从中取得数据。
如果是局部使用的话:
传入,通过构造函数;
传出,通过窗体事件。
举个例子,Form1在某方法中新建Form2实例、向其传入参数,并等待其关闭后得到传出的数据。
1.Form2应定义一个带有参数的构造函数,如public Form2(int InputParam){...}
2.在新建Form2实例时,通过构造函数传入数值,如 Form2 SubForm = new Form2(1);
3.在显示新实例SubForm之前,注册其窗体关闭事件,如SubForm.FormClosing += new FormClosingEventHandler(Form2_FormClosing);(在Form1中应定义这个Form2_FormClosing处理函数)
4.在Form2_FormClosing处理函数中获取SubForm(作为事件的sender)并从中取得数据。
展开全部
1、使用全局变量(不推荐,公共变量一直都不是微软推荐使用的)
2、构造函数的重载(凑合,但是也不推荐,会影响设计阶段的窗体加载)
public FormMain(参数)
{}
3、窗体的ShowDialog重载(推荐这种方法)
public DialogResult ShowDialog(参数)
{
表达式;
this.ShowDialog(Parent);
return this.DialogResult;
}
2、构造函数的重载(凑合,但是也不推荐,会影响设计阶段的窗体加载)
public FormMain(参数)
{}
3、窗体的ShowDialog重载(推荐这种方法)
public DialogResult ShowDialog(参数)
{
表达式;
this.ShowDialog(Parent);
return this.DialogResult;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过窗体的构造方法传值
列:
要将Form1中的一个字符串传进Form2中只需要这样写
//Form2中的构造方法
public Form2(string str)
{
}
//Form1中实例化Form2
Form2 f = new Form2(str);
列:
要将Form1中的一个字符串传进Form2中只需要这样写
//Form2中的构造方法
public Form2(string str)
{
}
//Form1中实例化Form2
Form2 f = new Form2(str);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
传值??????
创建一个Static 的类,里面申请几个变量。
int的,string的,float的。
当然,这些变量你可以作为static 的,这样,不久简单了。
在form1中给 变量1赋值,然后在form2中 用static的类名调用其中的变量1取值。
over
创建一个Static 的类,里面申请几个变量。
int的,string的,float的。
当然,这些变量你可以作为static 的,这样,不久简单了。
在form1中给 变量1赋值,然后在form2中 用static的类名调用其中的变量1取值。
over
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询