我在C#建立了三个窗体,form1,form2,form3.在form2中定义一个字符串,从form1中可以得到值
但是在form3中却得不到form2中字符串的值,显示为空。我在form1和form3中都是用form1frm=newform1()这种方法去进行值传递的,为什么会出现这...
但是在form3中却得不到form2中字符串的值,显示为空。我在form1和form3中都是用 form1 frm = new form1()这种方法去进行值传递的,为什么会出现这种问题啊
展开
6个回答
展开全部
你好,你在每个窗口中使用
form1 frm = new form1()
创建另外一个窗口的对象。相当于是初始化了一个新的对象,
不能够保留以前的所有信息。在构造函数中初始化了所有的成员,
你如果想完成这个功能。可以在form3中定义一个form2对象
form2对象中初始化form3后
form3.form2Obj=this;这种方式。如果只是想传递一个字符串也可以使用类似方法。
form1 frm = new form1()
创建另外一个窗口的对象。相当于是初始化了一个新的对象,
不能够保留以前的所有信息。在构造函数中初始化了所有的成员,
你如果想完成这个功能。可以在form3中定义一个form2对象
form2对象中初始化form3后
form3.form2Obj=this;这种方式。如果只是想传递一个字符串也可以使用类似方法。
追问
你好,我想问一下,为什么form1从form2中得到字符串的值是正常的,我也同样用了form2 frm = new form2().在这里没有初始化吗
再者可不可解释一下那个方法,最好举个简单的例子,上边的看不太明白。呵呵
追答
你把你的代码贴出来吧!
你的form2中的字符串定义的地方拿出来看看。在form2和form3中的初始化和引用拿出来看下!
展开全部
童靴,你首先要了解面向对象是什么?这个问题就知道了。
你的问题不清楚,但我想你用的是新的对象,你想得到以前对象的值是得不到的。你可以给问题描述清楚。
你的问题不清楚,但我想你用的是新的对象,你想得到以前对象的值是得不到的。你可以给问题描述清楚。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用vs开发就是要跟代码啊,出了问题就跟程序,看实际当前数值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把那个字符串的值定义为public static string xxx=“”;试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你不是在form2中定义一个字符串么,应该是在form2中用form1 frm=new form1();然后将字符串作为参数传过去,即form1 frm=newform1(string s);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
发代码我看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询