扩展用户控件

时间:2009-04-24 11:40:31

标签: c# .net winforms inheritance user-controls

我有一个关于扩展继承自UserControl的自定义控件的问题。

public partial class Item : UserControl
{
    public Item ()
    {
        InitializeComponent();
    }
}

我想制作一个继承自Item

的控件 像那样的

public partial class ItemExtended : Item
    {
       public ItemExtended():base()
        {
            InitializeComponent();
        }
    }

这当然完美无缺,遗产有效但我的问题出在设计师身上

我无法在设计中打开此ItemExtended ....

它说:找不到类型“Item”的构造函数。

sy有解释吗?

是最好的方法吗?

THX

我当然在.NET Winform上使用c#:)

1 个答案:

答案 0 :(得分:3)

通过在派生的用户控件上调用InitializeComponent()来调用InitializeComponent()两次。

这可能会导致问题。

还有一些帮助属性callad IsDesign或设计(类似的)UC,这有助于避免在设计时(在VS中)不必要的UI操作。

编辑:它是DesignMode。您可以避免通过Design运行RT功能。喜欢if(!this.DesignMode)InitializeComponents();

你也可以检查这个forumpost。 http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=41254