今天想做个自定义容器控件,但是在网上找了半天都没有找到,可以在对应的panel里进行拖拽控件的,多以今天写一下关于怎么做一个自定义容器控件
自定义容器控件需要在自定义控件中加入
1 [Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 2 public Panel ControlList 3 { 4 get 5 { 6 return this.dSkinPanel2; 7 } 8 }
ControlList这里是放容器的区域,可以在设计模式下拖入控件
设计模式的设计实体:
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))]
这样就可以制作自定义的容器控件了,想在哪里当容器都可以
文采不好不太会写,希望这篇文章可以帮助大家