【问题标题】:extend a user control扩展用户控件
【发布时间】:2010-10-21 14:14:13
【问题描述】:

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

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

我想做一个继承自 Item 的控件

像这样的sg

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

这当然完美,遗产也有效,但我的问题在于设计师

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

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

你有解释吗?

这是最好的方法吗?

谢谢

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

【问题讨论】:

  • 如果您说出您使用的语言/框架,您可能会收到更多回复

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


【解决方案1】:

在非常派生的用户控件上调用 InitializeComponent() 时调用 InitializeComponent() 两次。

这可能会导致问题。

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

编辑:它是设计模式。您可以通过设计避免运行 RT 函数。比如 if (!this.DesignMode) InitializeComponents();

您也可以查看此论坛帖子。 http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=41254

【讨论】:

  • 你能不能对这个设计/设计的东西更珍贵?
  • 谢谢你们的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-09
相关资源
最近更新 更多