C#中Form窗体之间怎么传值?

 我来答
heroius
推荐于2017-11-25 · TA获得超过1179个赞
知道小有建树答主
回答量:746
采纳率:0%
帮助的人:245万
展开全部
如果是全局使用的可以单独声明静态变量。
如果是局部使用的话:
传入,通过构造函数;
传出,通过窗体事件。
举个例子,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)并从中取得数据。
快乐的咸鱼
2012-02-29 · 超过27用户采纳过TA的回答
知道答主
回答量:166
采纳率:0%
帮助的人:61.6万
展开全部
1、使用全局变量(不推荐,公共变量一直都不是微软推荐使用的)
2、构造函数的重载(凑合,但是也不推荐,会影响设计阶段的窗体加载)
public FormMain(参数)
{}
3、窗体的ShowDialog重载(推荐这种方法)
public DialogResult ShowDialog(参数)
{
表达式;
this.ShowDialog(Parent);
return this.DialogResult;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mumu178222yit
推荐于2018-12-31 · TA获得超过457个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:109万
展开全部
通过窗体的构造方法传值
列:
要将Form1中的一个字符串传进Form2中只需要这样写

//Form2中的构造方法
public Form2(string str)
{

}

//Form1中实例化Form2
Form2 f = new Form2(str);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朝花夕实
2012-02-29 · TA获得超过387个赞
知道小有建树答主
回答量:266
采纳率:100%
帮助的人:101万
展开全部
传值??????
创建一个Static 的类,里面申请几个变量。
int的,string的,float的。
当然,这些变量你可以作为static 的,这样,不久简单了。
在form1中给 变量1赋值,然后在form2中 用static的类名调用其中的变量1取值。
over
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式