今天想作个自定义容器控件,可是在网上找了半天都没有找到,能够在对应的panel里进行拖拽控件的,多以今天写一下关于怎么作一个自定义容器控件设计模式
自定义容器控件须要在自定义控件中加入ide
1 [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 2 public Panel ControlList 3 { 4 get 5 { 6 return this.dSkinPanel2; 7 } 8 }
ControlList这里是放容器的区域,能够在设计模式下拖入控件
设计模式的设计实体:this
public class XYPanelDesigner : ControlDesigner { private XYPanel ucFoldPanelControl; public override void Initialize(IComponent component) { base.Initialize(component); ucFoldPanelControl = (XYPanel)component; this.EnableDesignMode(ucFoldPanelControl.ControlList, "ControlList"); } }
this.EnableDesignMode(ucFoldPanelControl.ControlList, "ControlList");这句就是在哪一个控件进行设计
自定义控件的中插入:
[Designer(typeof(XYPanelDesigner))] public partial class Panel : UserControl {
这句话主要是为了自定义控件绑定哪一个设计器 [Designer(typeof(XYPanelDesigner))]spa
这样就能够制做自定义的容器控件了,想在哪里当容器均可以设计
文采很差不太会写,但愿这篇文章能够帮助你们code