2011-02-25 48 views
6

我做了一個用戶控件,並且已經能夠通過將它添加到C#代碼中的表單中來使用它。用戶控件與主窗體在同一個VS2005項目中。我可以在不使用DLL的情況下使用同一個項目中的UserControl嗎?

問題是我不能在gui編輯器([Design]窗口)中看到用戶控件。我嘗試了很多東西,但我無法將用戶控件添加到真實的表單中。

我讀了一些關於製作控件lib dll的東西,然後將這個dll添加到工具箱中,但我不想擁有額外的項目和額外的二進制文件。

如何在窗體設計中使用用戶控件,如果兩者都在同一VS項目中?我認爲這應該是可能的?

編輯1:

對不起我的Visual Studio 2005沒有2010

+0

答案是否定的,您不需要將其添加到第二個項目並將其包含在DLL中。這發生在我曾經在VS2005中。在構建項目後,我的控件類沒有出現在工具箱中。問題是......我不記得我是如何解決它的。 – 2011-02-25 08:09:31

+0

您是否嘗試過右擊工具箱並選擇「選擇項目」? – Jimmy 2011-02-25 08:14:44

+0

是的......但問題解決了...是一個錯誤的視覺工作室設置。 – fpdragon 2011-02-25 08:25:33

回答

11

當它是同一個項目的一部分時,在設計模式中使用UserControl當然是可以的。

但是,請注意,如果您啓用了「AutoToolboxPopulate」設置,它將只顯示在您的工具箱中。轉到「工具」菜單並選擇「選項」。展開「Windows窗體設計器」,然後單擊「常規」。確保「AutoToolboxPopulate」屬性設置爲True。重建解決方案時,您的UserControl應顯示在工具箱的頂部,隨時可添加到表單中。

或者,您可以手動將UserControl添加到您的工具箱中。爲此,請右鍵單擊工具箱,然後從上下文菜單中選擇「選擇項目」。導航到您的控件,確保它在列表中被選中,然後單擊「確定」。

如果發生異常(如MacX提到的),您仍然會收到設計者的通知。該控件仍將顯示在工具箱中,您仍然可以嘗試將其添加到您的表單中。

+0

就是這樣!!!非常感謝你和其他人! – fpdragon 2011-02-25 08:23:38

0

你應該能夠在的WinForms設計師使用自定義的用戶控件。然而,你必須先建立你的項目。你可以通過生成 - >生成解決方案或按F6來做到這一點。然後你的控制應該出現在工具箱中。

+0

甚至嘗試重建,但它沒有顯示在工具箱:( – fpdragon 2011-02-25 08:21:21

0

是的,在工具箱中,右鍵單擊並選擇「選擇項目...」。然後導航到「.NET Framework組件」 - 您的控件應該列在那裏。只需選擇添加它們。

+0

hmmm沒有在這裏列出,即使在重新編譯。 – fpdragon 2011-02-25 08:20:24

+0

...不知道那麼,我有同樣的問題,它已經爲我工作。不管怎麼樣,很高興你已經分類! – Fraser 2011-02-25 18:50:33

1

正如APShredder已經提到的那樣,控件應該會自動出現在工具箱中。如果不檢查你的Visual Studio設置:

工具 - 選項 - Windows窗體設計器 - 通用 - AutoToolboxPopulate - 真

如需進一步信息剛剛看了Walkthrough in the MSDN

0

控件應該沒有問題,除非您在構造函數或Load事件中引發了異常。 Designer無法正確顯示控件。

0

在VS2010中創建一個用戶控件並對其進行編譯後,VS會自動添加您的組件,並使其在ToolBar的名稱空間中可見。 這可以在WPF和舊式代碼/組件中完成......

相關問題