如果将TableLayoutPanel添加到表单,然后将控件添加到其单元格之一,则添加的控件在属性窗口中具有额外属性(例如:Row,RowSpan,Column,ColumnSpan,Cell等)。
我的问题是,如果您创建自己的自定义控件/组件,是否有办法将属性添加到任何现有控件,该控件将成为自定义控件的子控件,如TableLayoutPanel的行为?
答案 0 :(得分:0)
我猜您正在寻找ProvideProperty属性
http://msdn.microsoft.com/en-us/library/d6c1xa43.aspx
在下面的代码中,您将看到它在TableLayoutPanel中的使用方法
[ProvideProperty("ColumnSpan", typeof(Control))]
[ProvideProperty("RowSpan", typeof(Control))]
[ProvideProperty("Row", typeof(Control))]
[ProvideProperty("Column", typeof(Control))]
[ProvideProperty("CellPosition", typeof(Control))]
[DefaultProperty("ColumnCount")]
[DesignerSerializer("System.Windows.Forms.Design.TableLayoutPanelCodeDomSerializer, " + AssemblyRef.SystemDesign, "System.ComponentModel.Design.Serialization.CodeDomSerializer, " + AssemblyRef.SystemDesign)]
[Docking(DockingBehavior.Never)]
[Designer("System.Windows.Forms.Design.TableLayoutPanelDesigner, " + AssemblyRef.SystemDesign)]
[ComVisible(true)]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[SRDescription(SR.DescriptionTableLayoutPanel)]
public class TableLayoutPanel : Panel, IExtenderProvider {