黑马程序员技术交流社区
标题:
winform窗体之间的传值
[打印本页]
作者:
黄晓波
时间:
2013-4-26 11:07
标题:
winform窗体之间的传值
本帖最后由 黄晓波 于 2013-4-26 17:18 编辑
winform窗体之间的传值问题:现有主窗体FormMain,子窗体FormSon,现在如何将主窗体FormMain中的某些值传递到子窗体FormSon中进行处理,处理完成之后的结果再返回给主窗体FormMain?
作者:
王德钊
时间:
2013-4-26 11:33
设置全局变量呗。
作者:
陈晖
时间:
2013-4-26 12:31
一种方法是在主窗体中new子窗体时将需要传递的值以参数的形式传给子窗体,
但是子窗体必须写一个接收参数的构造方法,
同时加out修饰参数就可以将结果返回给主窗体了;
另一种方法是将主窗体的引用this传给子窗体,
当然子窗体也必须写一个接收参数的构造方法,
子窗体中就可以控制主窗体的变量(变量必须是public修饰的)。
:)
作者:
胡化敏
时间:
2013-4-26 14:58
在子传递中声明一个方法设置主窗体要传入的参数,子窗体通过属性传值给主窗体。
主窗体代码片段
FrmBjtx f = new FrmBjtx();
f.Run("挂号报警温馨提示", ksmc, bjs, 15, false,ksdm);
GlobalVariable.isFormActived[ksdm] = true;
窗体代码片段
/// <summary>
/// 运行
/// </summary>
public void Run(string title,string ksmc, int bjs, int zdgbsj,bool gb,string id)
{
_ksmc = ksmc;
_bjs = bjs;
_zdgbsj=zdgbsj;
_gb = gb;
_title = title;
_ksdm = id;
this.Show();
//显示信息
}
private void FrmBjtx_FormClosed(object sender, FormClosedEventArgs e)
{
GlobalVariable.isFormActived.Remove(_ksdm);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2