2012-10-02 19 views
1

一個非常簡單的例子。我有兩個類:控件不在C#中的設計器中加載#

public class BaseControl : UserControl { } 

public partial class MyControl : BaseControl 
{ 
    public MyControl() 
    { 
     InitializeComponent(); 
    } 
} 

我可以在設計模式下打開BASECONTROL,但MyControl不能(VS 2008)。 I CAN NOT只是從類UserControl繼承類MyControl。有什麼辦法可以解決這個問題嗎?

+2

我找到了解決辦法MyControlDesigner類。 VS設計器需要基類中的InitializeComponent方法(在我的BaseControl中)。 – Sergey

回答

1

請確保您有這樣定義類:

public class BaseControl : UserControl 
{ 
    public BaseControl() 
    { 
     InitializeComponent(); 
    } 
} 

public partial class MyControl : BaseControl 
{ 
    public MyControl() 
    { 
     InitializeComponent(); 
    } 
} 
+0

'InitializeComponent()'方法由設計器生成,實際上創建控件,設置屬性並將它們添加到UserControl上的控件集合中。 – Aphelion

0

您需要用[Designer(typeof(MyControlDesigner))]屬性

來裝飾你的類MyControl,並編寫繼承IDesigner

相關問題