我目前已經有了某種程度上失去了它的父母的自定義控件,現在沒有父任何東西,但它仍然在窗體設計器中的控件列表中。刪除按鈕也不起作用,因此被禁用。這種情況一次又一次地發生,並且通過設計器代碼和手動刪除是一種痛苦,而且還有其他開發人員認爲這會讓人煩惱並且可能會混淆它們。從表格中刪除控件
因此,我試圖在控件ComponentDesigner中添加一個動詞以從表單中刪除它自己。但是我意識到,因爲它沒有被任何東西「固定」,所以它不能作爲一個孩子去除。那麼我如何通過代碼去從窗體設計器中刪除一個控件呢?
我目前已經有了某種程度上失去了它的父母的自定義控件,現在沒有父任何東西,但它仍然在窗體設計器中的控件列表中。刪除按鈕也不起作用,因此被禁用。這種情況一次又一次地發生,並且通過設計器代碼和手動刪除是一種痛苦,而且還有其他開發人員認爲這會讓人煩惱並且可能會混淆它們。從表格中刪除控件
因此,我試圖在控件ComponentDesigner中添加一個動詞以從表單中刪除它自己。但是我意識到,因爲它沒有被任何東西「固定」,所以它不能作爲一個孩子去除。那麼我如何通過代碼去從窗體設計器中刪除一個控件呢?
我通過查找Document Outline選項卡中的鬆散控件來解決該問題。這種方式非常簡單,並且是圖形化的。
備份文件。
打開設計器文件;例如,Form1.Designer.cs
展開此區域:Windows Form Designer generated code
你應該能夠找到你的控制代碼並將其刪除。小心。
當您的某個控件在設計時引發異常時,可能會發生這種情況。這很少是無聲的事件,設計師顯示一個彈出消息框。當你用try/catch方法吞下代碼中的異常時,可能不會收到消息框。
試圖通過黑客設計來解決這個問題只是增加了問題。通過編輯設計器代碼來修復它,當你知道你在做什麼時就可以了。如果你找不到原因,那就把它弄到一定程度,這樣你可以重複一些。然後啓動另一個Visual Studio實例,工具+附加到進程並選擇第一個實例。調試+異常,在投擲框中勾選CLR異常,以便在拋出異常時調試器將停止。
這是一個我正在使用的大型第三方控件庫,我只有很小的擴展能力。 – 2012-04-17 02:10:09
不知道你要我怎樣處理這些信息。告訴店主關於你看到的例外情況肯定會加速他們的修復。 – 2012-04-17 02:13:16