form1的值如何在form2中显示和使用?
form1的textbox中输了值,如何传到form2中使用呢?(例如显示在form2的label空间上)...
form1的textbox中输了值,如何传到form2中使用呢?
(例如显示在form2的label空间上) 展开
(例如显示在form2的label空间上) 展开
4个回答
展开全部
如果两个窗体属于同一个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都有权限。
最简单的也是最不优雅的办法是将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都有权限。
展开全部
1.首先设置txtbox的属性为public
其次在form2中传递参数,这个不好理解;
2.在form1里设置一个公共变量 例:public string name = "";
然后 name = txtbox.text;
最后在form2里可以这样调用: lable.text = form1.name; 就出来了..
你试试..
其次在form2中传递参数,这个不好理解;
2.在form1里设置一个公共变量 例:public string name = "";
然后 name = txtbox.text;
最后在form2里可以这样调用: lable.text = form1.name; 就出来了..
你试试..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
form1 上再弹出 form2?
在form2上设置个 public 字段~
实例化form2后,form2.字段=txtbox。text 就行了
在form2上设置个 public 字段~
实例化form2后,form2.字段=txtbox。text 就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
WinForm?直接设public就可以了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询