为了账号安全,请及时绑定邮箱和手机立即绑定

为什么直接使用到初始化中就不行呢?

为什么直接使用到初始化中就不行呢?

C#
HUWWW 2023-01-12 15:11:49

form2里面点击button,弹出form3并且将变量定义新值并传递,form3初始化时根据这个变量初始化listview.
请问 如何操作.
如果在form2 定义的话,form3使用前要构造form2,才能调用这个变量,构造后这个变量又被重新初始化,所以传递的值就被覆盖了.
不知道我说清楚没有?
我也是这样做的 ,在form3定义一个public 变量,form2的button点击时赋值然后form3 show,我进行调试的时候发现点击按钮的时候变量的值是改变了 但是 初始化form3的时候变量也跟着初始化了
所以值就没有被传递过去!!! 

当我在form3中增加一个按钮,把传递的函数放到这里显示,值是可以传递的

查看完整描述

2 回答

?
临摹微笑

TA贡献1739条经验 获得超2个赞

看了半天,你是要form2点击button打开form3,然后form3加载的时候就有一个值是来自form2的吧,要是这样的话就如下:

在form3中定义public变量
然后在form2中实例化的时候直接赋值给他
例如:
form3中有
public string a;//这个东西是全局变量
然后form2中button的事件里就写
form3 f=new form3();
f.a=变量;//
f.show();

不知道是不是你想要的;实现方法很多

 


查看完整回答
反对 回复 2023-01-15
?
BIG阳

TA贡献0条经验 获得超6个赞

其实很简单啊,有三种方法都可以实现你要的功能
方法一、就是用构造函数传值,先在Form3中定义一个成员变量,然后重载Form3的构造函数,添加一个有参数的构造函数(直接复制现有的构造函数,然后添加一个参数,在里面写上this.成员变量名=参数名即可),写完这些以后在form2里面new Form3的时候选择有参数的构造函数完成,然后Show就可以了,这个时候你在form3的form_load里面用这个变量就没问题了。
方法二、在Form2中调用Form3的成员变量赋值(在new对象之后,Show之前)
方法三、使用第三个类中声明一个静态的变量,在Form2中给这个变量赋值,在Form3中使用就可以了。由于是静态的,直接用类名访问,不需要new,也独立于两个窗体。

查看完整回答
反对 回复 2023-01-15
  • 2 回答
  • 0 关注
  • 5 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信