c#在InitializeComponent()添加自写代码,不被优化掉

发布时间:2024-05-10 12:30 发布:上海旅游网

问题描述:

2楼,3楼说的都很对,但是我想把InitializeComponent()里局部的GroupBox传出来,在整个窗体类里都可以访问。在InitializeComponent()就没有特殊的标记之类的吗,在标记里编辑代码,而不因控件的改变被“去掉”?

问题解答:

如果你用的是VS,那么建议你不要在InitializeComponent()中添加自己的代码,因为只要你界面有异动,比如添加/删除一个控件,该方法内的代码将会重新生成.所以,如果你需要Initialze你自己的东西,那就自己建一个这样的方法,放在构造函数里的InitializeComponent()后面.比如
class Simple{
public Simple(){
InitializeComponent();
Initialize();
}
}

你应该是想在form初始化的时候做一些事情,不要写在InitializeComponent()里面,会导致designer模式下form打不开的。
可以写在form_load事件里面,也可以加个Initialize()方法,在public InitialForm()方法中,InitializeComponent()方法之后调用,都可以满足你的要求。
----------------------------------------------------------
什么叫“传出来”啊?如果要在其他地方可见的话可以把GroupBox的modifier属性改为public,或者写getset方法。

不被优化掉?什么意思?

热点新闻