我有一個子類NumericDown這樣的:
Public Class MyNumericUpDown : Inherits NumericUpDown
' More code here that does not matter...
End Class
我想編譯成WindowsForms控件庫項目的UserControl
有用戶控件的的beneffit調試項目時的屬性網格。
問題
我找不到編譯我NumericDown,因爲我想不破壞自動生成Usercontrol
類WindowsForms控件庫項目的方式,這意味着,打破了財產網格功能和編譯後的項目有一個最終的異常消息告訴我,我的DLL:doesn't contain any UserControl types
(但真的有,我可以將它添加到VS控制工具箱)。
問題
在C#或VB,我怎麼能正常白色的WindowsForms控件庫項目只顯示我的自定義NumericDown沒有鬆動的屬性網格功能?
我希望你能明白我想要的。
我會試着用換句話說:我只想在屬性網格中測試我的NumericUpDown,而不是WindowsForms控件庫項目默認生成的usercontrol。
將它添加到VisualStudio控件工具箱中時,它應該是一個「單元」,但是我得到兩個分離的控件。
CODE:
我沒有什麼更好的展現,因爲我無法找到的信息,開始這樣做。
Public Class UserControl1 : Inherits UserControl
Public Sub New()
InitializeComponent()
' This is not what I want,
' or at least I think it shouldn't be done as normally like this,
' I only want to use and see my custom NumericUpDown on the property grid,
' not depending on any UserControl ControllCollection.
Me.Controls.Add(New MyNumericUpDown)
End Sub
End Class
沒有必要對你的子類的控件添加到WF控制庫項目 - 他們可以很好的工作沒有用戶控件的開銷。因爲項目類型,Net是「自動生成」UC;你顯然是將你的NUD添加到UserControl中。創建一個「Class Lib」項目並添加您的子類控件以及一些WinForms引用。沒有UserControl的「好處」,許多許多子類控制工作得很好。我不確定你正在談論的「屬性網格」是什麼 - 雖然屬性屬性窗口? – Plutonix 2014-12-08 13:58:14
我知道如何編譯一個按照您所說的方式進行操作而不依賴於UC的控件。我試圖問的是:當你編譯和運行一個用戶控件(WF控件庫項目)時,VisualStudio會在運行時顯示一個控件的屬性網格來測試控件屬性,這就是我想用我的自定義控件所不具備的繼承自WF控制庫項目中的UC,以防可能導致我不知道的情況,謝謝您的評論。 – ElektroStudios 2014-12-08 19:50:51
對不起,我不知道你在說什麼屬性網格(在運行時)。 – Plutonix 2014-12-08 20:55:31