我想创建一个包含25px标头的控件。当我添加子控件时,我希望它们的行为就像在GroupBox中使用它们一样。
当控件的DockStyle设置为填充组框时,它的位置会自动设置为3;16
,其大小为Width-6; Height-19
。
我不想使用Padding或Margin,因为它们似乎不在GroupBox中使用。
我如何在自己的控件中实现相同的行为?
答案 0 :(得分:1)
尝试覆盖面板的DisplayRectangle属性:
public class MyContainer : Panel {
public override Rectangle DisplayRectangle {
get {
int headerHeight = 25;
return new Rectangle(
this.Padding.Left,
this.Padding.Top + headerHeight,
this.ClientSize.Width -
(this.Padding.Left + this.Padding.Right),
this.ClientSize.Height -
(this.Padding.Top + this.Padding.Bottom + headerHeight));
}
}
}