某些表單初始化問題I was having被追蹤到.Designer.cs文件,覆蓋了我在用戶控件的構造函數中初始化的值。什麼東西觸發Visual Studio重新生成* .Designer.cs文件?
我設計了一個組件(MyUserControl
)並將其插入表格(MainForm
)。我後來在MyUserControl
的構造函數中添加了一些成員初始化,但中InitializeComponent()
的代碼已過時,稍後在該函數中的代碼將覆蓋來自該函數中早期調用的構造函數的新的初始化。
所以,從本質上講,我所做的一些事情引發了Mainform.Designer.cs
的重寫,但其他活動卻沒有。
是否有一個很好的參考來描述設計人員觸及* .Designer.cs文件的時間? (或者這是一個簡單的規則?)Jared Par指給我的是DesignerSerializationVisibilityAttribute類,但這似乎是森林中的一棵樹?
(++)謝謝漢斯。是增加/刪除控件或多或少的* only *方法來獲取InitializeComponent()來「刷新?」如果是這樣,我可以看到很多相當微妙的錯誤悄然進入解決方案。如果擁有比這更自動的東西,那將是很好的。 – John 2011-04-05 02:04:52
這與改變普通班級的公共成員沒有任何區別。你總是冒着破壞使用它的其他代碼的風險。或者是現有的代碼打破了編輯過的類。設計師實際上可以更容易地修復這種破損,您只需要移除控件並將其放回原處:) – 2011-04-05 02:20:19