C#两窗体之间如何传递变量?

有几种方法?... 有几种方法? 展开
 我来答
匿名用户
2013-09-10
展开全部
继承,属性访问列子如下:在Form2种声明一个代表Form1窗体的公共变量:public Form1 frmpara=new Form1();
在Form1种声明一个公共变量,用来接收从Form2传回来的参数:public string strGet;
首先,在Form1种调用Form2:
Form2 frm=new Form2();
frm.frmpara=this;
frm.Show();
然后,进入Form2窗体,进行操作并返回参数给Form1:
frmpara.strGet="changed";
this.Dispose();
重新返回Form1,调用返回的参数strGet:
this.textBox1.Text=this.strGet;//文本框显示"changed"

以下是一些网上的方法:
从Form1调用Form2,Form2在返回Form1并传递给Form1参数:
借助第三个窗体Form3
首先,在Form3种声明一个静态变量:public static stirng strTansfer="";
并且添加访问函数:
public string GetstrTansfer
{
get
{
return strTansfer;
}
set
{
strTansfer=value;
}
}
然后,在Form1种调用Form2:Form2 frm=new Form2();frm.Show();
进入Form2窗体,修改Form3的静态变量并返回Form1:
Form3 frm=new Form3();//创建Form3的实例
frm.GetstrTansfer="changed";//改变Form3的静态变量
this.Dispose();//销毁当前窗体,返回Form1
在Form1种调用Form3的静态变量strTansfer:
Form3 frm=new Form3();
this.textBox.Text=frm.GetstrTansfer;//文本框中显示"changed"

从Form1调用Form2并向其传递参数,不返回Form1:

首先,在Form2种声明一个public型变量:public string strTansfer="";
然后,在Form1种调用Form2并向其传递参数str:
Form2 frm=new Form2();
frm.strTansfer=str;
frm.Show();
匿名用户
2013-09-10
展开全部
3种其一,定义静态变量其二,在构造函数中传值 其三,实例化时传值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-10
展开全部
经常用到的是构造函数传递参数 form f=new form("1111");还有就是属性的传递 不过这个东西一般 用于分层的时候用 还有就是事件传递参数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-10
展开全部
1.可以使用全局变量
2.可以在打开B窗体的时候,使用"b.变量名=?"传送
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式