在编程过程中 我们的from2 窗体中的方法经常需要用到 form1中的数据作为标志量,这时我们该怎样来实现呢?
如:在form1中有 public int flg=1; 在form2中要用,我们的第一反应肯定是 这样的: form1 frm1=new from1(); flg2=frm1.flg; 相信大多数人第一次做窗体间的传值都会这样写,我也一样。 运行之后你会发现,无论你的 form1中的 flg的值是多少,在 form2中的 flg2永远都是空~~~,这一点很纠结啊! 为什么呢? 因为我们自己把他设成空了! form1 frm1=new from1(); 窗体的实例化,在没有参数的情况下,会用默认值的。那不就是 null 啦。所以,如果你这样写的话,你永远也不要想着能得到正确的值。
我们应该 这样写,把 form1中的flg定义成静态的,然后在 form2 中直接用这样的: flg2=form1.flg 。我们是记得的,对于静态变量,可以直接用类名来调用!!!
这样就OK啦~~~~~