我的InitializeComponent中有一些条件会影响基于某些变量的布局。不幸的是,似乎每当我重建我的应用程序时,此代码都会恢复到之前的状态。此代码是否基于Designer界面重新生成?有没有办法阻止它这样做?
答案 0 :(得分:2)
是的,InitializeComponent
完全由IDE生成;甚至不要试图搞砸它。
如果您有条件逻辑,您想要添加/删除某些控件,请在自动生成的InitializeComponent
调用后,在控件的构造函数中执行此操作。
请注意,如果条件内容取决于在设计时启用/禁用的功能(例如,如果其他人正在使用您的控件,并且您提供的属性会影响您在设计时设置的控件的行为方式),使用构造函数将无法工作,因为构造函数已经在用户从设计视图中做出选择时已经运行;在这种情况下,覆盖OnLoad
方法并将你的逻辑放在那里(或者做一些变化,例如,处理Load
事件本身 - 有很多方法可以为这只猫设置皮肤。)< / p>