在WinForm設計器中加載UserControl時,VisualStudio會執行該控件的InitializeComponent()方法,但不執行其構造函數。 這真的有所作爲,因爲在構造函數中有一些無法在設計時運行的代碼是很常見的。如何在使用.net Winform設計器時處理UserControls構造函數中的異常?
不幸的是,當您將UserControl添加到另一個控件時,VisualStudio會運行父控件的InitializeComponent()方法,該方法調用子控件的構造函數,如果在這些構造函數中有異常,重新卡住。
你如何處理這個問題?
如何將Visual Studio中調用InitialiseComponent沒有構造一個實例。構造函數保證在InitializeComponent之前被調用。 – 2009-01-26 16:17:33
只需嘗試一下:創建一個空白表單,並在構造函數的第一行(即在調用Initializecomponent之前)添加「拋出新的Exception()」。您會看到Winform設計器仍然可以加載表單。 – Brann 2009-01-26 16:26:34