什么东西触发Visual Studio重新生成*.Designer.cs文件?

Joh*_*ohn 3 c# designer visual-studio-2008 windows-forms-designer

我遇到的一些表单初始化问题被追溯到.Designer.cs文件,覆盖了我在用户控件的构造函数中初始化的值.

我设计了一个component(MyUserControl)并将其插入到form(MainForm)中.我后来在MyUserControl构造函数中添加了一些成员初始化,但是MainForm.Designer.csfor 的代码InitializeComponent()是陈旧的,稍后函数中的代码覆盖了我之前在该函数中调用的构造函数中的新初始化.

所以,从本质上讲,我确实触发了一些重写Mainform.Designer.cs但其他活动没有.

是否有一个很好的参考来描述设计师何时触及*.Designer.cs文件?(或者它是一个简单的规则?)Jared Par将我指向DesignerSerializationVisibilityAttribute类,但这似乎是森林中的一棵树?

Han*_*ant 5

您特别成为使用旧版UserControl的代码仍然嵌入在表单的InitializeComponent()方法中的受害者.如果您在修改控制代码之前从表单中删除了控件,那么您就不会遇到问题.之后将其移除并将其放回也会修复它.

是的,这是一个简单的规则.每次向表单添加控件或从表单中删除控件时,都会重新生成InitializeComponent().