包含UserControl的WinForms表單在我嘗試在設計模式下顯示時引發異常,但在程序運行或調試時運行正常。WinForms設計器異常
設計師說:
變量 'fpInfoA' 要麼是未聲明或從未分配。
ResearchTool fMain.Designer.cs線:282柱:1 調用堆棧
在System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager經理,字符串exceptionText,字符串HELPLINK) 在System.ComponentModel.Design。 Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager經理,字符串名稱,CodeExpression表達) 在System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager經理,字符串名稱,CodeExpression表達) 在System.ComponentModel.Design.Serialization.CodeDomSerializerBase。 DeserializeStatement(IDesignerSerializationManager管理器,CodeStatement語句)
但是,它看起來像變量賦值爲我希望在如何追查這個問題InitializeComponent
private void InitializeComponent()
{
// ... (Order of statements is same as in actual code) ...
this.tpFpA = new System.Windows.Forms.TabPage();
this.fpInfoA = new ResearchTool.FPInfo();
// ...
this.tpFpA.Controls.Add(this.fpInfoA); // THIS LINE BLOWS UP IN DESIGN MODE
}
的思考?例如,有沒有一種調試設計器初始化的方法?
該鏈接似乎處理VS的崩潰實例的調試。在我的情況下,VS不會崩潰,它只是顯示一條錯誤消息而不是設計視圖。 –
如果您按照此鏈接中的說明進行操作,您將會發現異常。我認爲這是你需要的。您將能夠設置斷點並調試您的代碼。試試這個,我多次使用這種技術,它的工作原理。 – platon
是的,它做到了。用戶控件的初始化代碼在設計模式下拋出Exception,並且該異常未被VS報告。 –