
C#中窗体之间的控件如何传递值,PS:窗体之间不是父子关系,只是值相互调用.
一 :全局变量,1窗口里赋值,2窗口里直接调用;
二:构造函数,修改2窗体的构造函数,加参数,然后在1窗体里new2窗体对象的时候把1窗体的值以参数方式传递到2窗体,就可以了!
百试百灵!望采纳!!
你说的第一种方法能具体一些吗?
第二种方法只能是窗体之间要连接,通过一个窗体打开另一个,如果只是单纯的调用值,窗体之间没有关系,这种方法就不能实现啊~~
全局变量的意思你知道吧!你可以新建一个静态类,然后写几个属性,分别提供get和set方法就行了,然后在某个窗体赋值后,其他所有窗体都可以调用这些属性,不管窗体之间有没有关系!!
FORMNAME.CONTROLNAME.PROPERTy=NEWFORM.CONTROLNAME.PROPERTY
能举个例子吗?
1.右击项目名——添加——类。
这里演示用类名PublicClass:一个公用静态变量PubStr,稍后把Form1中的信息赋值给PubStr,然后在Form2中显示出来。
class PublicClass
{
public static String PubStr;
}
2.Form1中添加一个TextBox,Name=txtMessages;一个Button,Name=btnSend,Text="发送".
“发送”按钮代码:
private void button1_Click(object sender, EventArgs e)
{
PublicClass.PubStr = this.txtMessages.Text.Trim();
this.Hide();
Form2 fm2 = new Form2();
fm2.Show();
}
3.右击项目名——添加——新建项——Windows窗体。
这里演示用Form2,添加控件Label,Name=lblShow.
Form2的Load事件代码:
private void Form2_Load(object sender, EventArgs e)
{
lblShow.Text = PublicClass.PubStr;
}
4.测试运行
另外,我多嘴两句。上面有位仁兄说修改构造函数我很不赞成,怕程序大了后患无穷。