我有一個用於保存子控件的LayoutPanel的自定義控件。我希望確保所有子控件都包含佈局面板的父容器中的某個屬性。我嘗試使用下面的代碼來創建不同的子控件,這將確保該物業ChartPropertyOwner的存儲,依靠繼承承擔的類型(標籤,按鈕,標準表格控件)繼承C#中的Windows窗體控件
public partial class ManipControl : System.Windows.Forms.Control {
public ChartPropertySet ChartPropertyOwner { get; set; }
public ManipControl(ChartPropertySet _cps) {
ChartPropertyOwner = _cps;
InitializeComponent();
}
}
我與初始化聲明如下:
Button btnManipDel= new ManipControl(_cps);
我收到的錯誤:
無法隱式轉換類型 'ManipControl' 到「System.Windows.Forms.Button '
爲什麼隱式轉換失敗,我該如何解決?
一個按鈕一個按鈕,有一個ManipControl沒有關係。如果你想有一個Button控件,你的屬性可以暴露一個Interface IMyInterface並且繼承自Button。公共類MyButton:Button,IMyInterface {//做生意} – Lloyd 2012-02-24 17:18:43
我不認爲創建一個沒有公共無參數構造函數的控件是個好主意。 – ja72 2012-02-24 18:31:21
你可以詳細說明@ ja72嗎? – sammarcow 2012-02-27 14:58:59