两窗体传值问题(新手问题) 两个窗体,一个主,一个从.在主窗函数中得到的三个变量,如何传给从窗体的三个label中.....另:判断一个窗体有没有打开,用哪个方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重载FORM2的构造函数,加3个参数进去就行了,在SHOW FORM2的时候,看变量是不是为NULL 值 设置代理(Delegate),进行窗体传值 public Form2(){ InitializeComponent();}public Form2(string s){ MessageBox(s);} 1、主窗体这里实例化一个你的从窗体:Form2 newForm = new Form2(X,Y,Z);newForm.ShowDialog();2、在从窗体中定义3个变量private 变量类型 x;private 变量类型 y;private 变量类型 z;3、在从窗体构造函数那public Form2(变量类型 X,变量类型 Y,变量类型 Z) { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); x = X; y = Y; z = Z; // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // }4、 public 变量类型 XVALUE { get { return x; } set { x = value; } }y,z也这样。 主窗体调用从窗体时:new form2().SetLable(s1,s2,s3);从窗体增加方法;public void SetLable(string s1,string s2,string s3){ this.lable1.text=s1; this.lable2.text=s2; this.lable3.text=s3;}判断一个窗体是否打开,我觉得在打开窗体时可以用ShowDialog()不用show() 一种办法是在从窗体中定义3个全局变量public string a,b,c;然后在主窗体中在传值的时候加下面的代码ChildForm cf=new ChildForm();cf.a=变量1;cf.b=变量2;cf.c=变量3;最后从窗体中就可以用a,b,c的值了label1.text=a;label2.text=b;label3.text=c; mafgm(反革命)按你的方法,值是已经有了,可是就是显示不出来!! 我知道C#的可以在一个窗体里设置一个静态变量 要取的时候就在另外一个窗体里写代码 窗体名.静态变量名就可以了 form1里 public static int b; form2里 int a = form1.b; 定义一个bool变量 在show()或是close()之后改变这个变量 1.可以用窗体2的构造函数2.可以用设置窗体1static 属性,在窗体2中读 用事件。参考observer模式。自定义事件参数,把变量封装在参数中传 其实我的目的很简单!!就是在FORM2点击按纽后,在FORM1的MOUSEDOWN事件里面将获得的X,Y坐标值显示在从窗体的两个Lable里面.有没有直接引用FORM2窗体的方法! 为什么Lable有值了,但就是显示不出来! C# 传递 VC++ 中的SOCKETl类型。 有个SQL问题想请教一下? 【学习】微软提供的AJAX控件如何使用? 关于加密的问题: axWebBrowser做一浏览器,如何时限点连接时在当前页打开啊 在web中生成excel后怎样杀掉任务管理器里面的进程??? Char 类型在c#2 里面到底是几个字节?????疑惑 数据库的导入导出 新手小问题! 请教:用空格或Tab分割字符串,但忽略双引号内的内容 请问怎么用C#连接SYBASE数据库 如何使用sdk
在SHOW FORM2的时候,看变量是不是为NULL 值
{
InitializeComponent();
}public Form2(string s)
{
MessageBox(s);
}
Form2 newForm = new Form2(X,Y,Z);
newForm.ShowDialog();
2、在从窗体中定义3个变量
private 变量类型 x;
private 变量类型 y;
private 变量类型 z;
3、在从窗体构造函数那
public Form2(变量类型 X,变量类型 Y,变量类型 Z)
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
x = X;
y = Y;
z = Z;
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
4、
public 变量类型 XVALUE
{
get
{
return x;
}
set
{
x = value;
}
}
y,z也这样。
new form2().SetLable(s1,s2,s3);
从窗体增加方法;
public void SetLable(string s1,string s2,string s3)
{
this.lable1.text=s1;
this.lable2.text=s2;
this.lable3.text=s3;
}
判断一个窗体是否打开,我觉得在打开窗体时可以用ShowDialog()不用show()
public string a,b,c;
然后在主窗体中在传值的时候加下面的代码
ChildForm cf=new ChildForm();
cf.a=变量1;
cf.b=变量2;
cf.c=变量3;
最后从窗体中就可以用a,b,c的值了
label1.text=a;
label2.text=b;
label3.text=c;
form1里 public static int b;
form2里 int a = form1.b;
2.可以用设置窗体1static 属性,在窗体2中读
参考observer模式。
自定义事件参数,把变量封装在参数中传