首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含子控件的用户控件,设计模式编辑子控件。

包含子控件的用户控件,设计模式编辑子控件。
EN

Stack Overflow用户
提问于 2016-10-07 20:17:42
回答 1查看 1.6K关注 0票数 2

我有一个控件,在该控件中有一个其他控件的集合(有点像选项卡控件,但不是选项卡控件)。

所以我可以控制一张表格。我可以使用自定义集合设计器窗体添加新的子控件,没有问题。

我希望能够在窗体视图中以设计模式向子控件添加控件。目前,如果选择子控件并删除say复选框,则复选框将添加到父控件(而不是子控件)中,然后位于所有子控件的顶部。

如何使在子控件上删除的控件实际上被添加到子控件中,而不是在设计模式中添加其父控件?它是一个需要添加到某些东西上的属性吗?我是否必须在其中添加一些自定义代码来捕获正在添加的控件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-07 20:51:58

首先,使内部控件设计器能够像父控件那样运行:

代码语言:javascript
复制
[Designer(typeof(ParentControlDesigner))]
public partial class InnerControl : UserControl

然后,在外部控件中托管时启用内部控件的设计模式,方法是为外部控件创建一个新的控件设计器:

代码语言:javascript
复制
[Designer(typeof(OuterControlDesigner))]
public partial class OuterControl : UserControl
{
    public OuterControl()
    {
        InitializeComponent();
    }
    public InnerControl InnerControl { get { return innerControl1; } }
}

public class OuterControlDesigner:ControlDesigner
{
    public override void Initialize(IComponent component)
    {
        base.Initialize(component);
        this.EnableDesignMode(((OuterControl)this.Control).InnerControl, "InnerControl");
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39925165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档