C#窗体,在Form1定义了public的数组,在Form2中赋值,在Form2中可以使用,但是回到Form1数组没有值,求大 50
C#窗体,在Form1定义了public的数组,在Form2中赋值,在Form2中可以使用,但是回到Form1数组没有值...
C#窗体,在Form1定义了public的数组,在Form2中赋值,在Form2中可以使用,但是回到Form1数组没有值
展开
7个回答
展开全部
这个数据要定义成Static类型的才可以,你回到Form1访问该数组时,相当于一个新实例在访问成员,那么它的成员如果是非静态的,它就会恢复成默认初始值的,对于数组来说当然就是一个没有元素的空数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在Form2中可以使用.回到Form1,是因为这个时候 .两个对象 都不一样了....在内存里面的展现的都不一样.当然不可以用了.可以写一个静态类,然后在静态类里面再写这两个参数就可以两个窗体之间都用了.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然是没有值了。你回到form1的时候。又new了一下。等于重新创造了一个数组的连续存储空间。
追问
那怎么办啊,
追答
这好像是另外一个问题了。你提的现在这个问题我已经告诉你为什么了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把它定义成静态的:
public static int[] ytype1 = new int[9];
然后就可以在不同窗体调用了
public static int[] ytype1 = new int[9];
然后就可以在不同窗体调用了
追问
我是想在From2中给这个数组赋值
追答
在form1中定义静态,然后在form2中给数组赋值,再回到form1使用...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以把它定义成全局变量,或者静态类写这两个参数。
public static int[] ytype1 = new int[9];
public static string[] Ytype1=new string[9];
public static int[] ytype1 = new int[9];
public static string[] Ytype1=new string[9];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询