form1的值如何在form2中显示和使用?

来源:百度知道 编辑:UC知道 时间:2024/05/12 04:37:28
form1的textbox中输了值,如何传到form2中使用呢?
(例如显示在form2的label空间上)

如果两个窗体属于同一个AppDomain,可以很简单的实现数据共享。
最简单的也是最不优雅的办法是将form1的textbox从private修改为public,这样form2就可以使用form1.textbox.Text拿到这个值了;
更好一点的办法是在form1中设置一个只读的public属性比如Passdata,在get方法中返回textbox的Text属性值,form2通过这个属性拿到这个值,这样的好处是减少了爆露的变量,程序的可控性更好;
在好一些的办法是创建一个全局的变量,由Form1在修改textbox值的事件中将修改后的值写入这个全局变量,form2读取这个全局变量拿到这个值,这样程序的结构更加明晰,功能间更加独立,利于以后维护。
如果两个窗体不属于同一个AppDomain,涉及到安全性问题,微软的.net不允许两个form存在直接通讯。我们可以通过form1写一个文本文件,注册表键值等,form2到对应的地方读取来实现。当然这样需要保证写入的目录或注册表键值对form1和form2都有权限。

WinForm?直接设public就可以了!

1.首先设置txtbox的属性为public
其次在form2中传递参数,这个不好理解;
2.在form1里设置一个公共变量 例:public string name = "";
然后 name = txtbox.text;
最后在form2里可以这样调用: lable.text = form1.name; 就出来了..
你试试..

form1 上再弹出 form2?
在form2上设置个 public 字段~
实例化form2后,form2.字段=txtbox。text 就行了