2014-02-08 34 views
1

在測試對自定義WinForms控件進行的許多更改時遇到了一些問題,這些問題僅在Visual Studio設計器中加載託管自定義控件的窗體時纔會發生。調試Visual Studio設計器中的InitializeComponent函數

因此,我想了解在Visual Studio設計器加載時是否有任何方法用於調試和逐步(或以某種方式記錄)自定義控件代碼的行爲。

+0

那麼是什麼阻止你進入正常狀態?我剛剛嘗試過,看起來很好。 –

+0

我必須丟失一些明顯的東西,因爲在啓動設計器時,自定義控件的代碼中的斷點似乎沒有被觸發。 –

+0

啊,對不起 - 誤解了這個問題。我愚蠢地沒有看到「在設計師」位。不知道爲什麼。再次道歉。 –

回答

1

調試自定義控件時,需要通過將項目的調試屬性設置爲「啓動外部程序」並將可執行文件路徑設置爲devenv.exe來啓動Visual Studio的第二個實例。

然後在VS的第二個實例中,打開您正在處理的項目,您將能夠調試由設計人員觸發的代碼。在第一個實例中,在自定義控件中設置斷點,並在第二個實例調用表單時觸發它們。

乾杯

+1

非常感謝 - 這就是訣竅。自.NET早期開發自定義控件以來,這是我第一次需要以這種方式進行調試。有點讓我感到驚訝的是,設計者根本沒有調用InitializeComponent函數。您能否指出我在任何涵蓋自定義控件開發的設計方面的優秀資源的方向? –

+1

我的理解是'InitializeComponent'被設計者解析,但沒有執行。這是一個很好的介紹:http://msdn.microsoft.com/en-us/magazine/cc164159.aspx –