C# 调整PropertyGrid控件的大小
我编写了一些代码,可以调整控件及其所有控件的大小,但PropertyGrid存在一个问题。用户界面是一个包含TabControl tabContAll的GroupBox。在tabContAll中,是一个包含PropertyGrid的选项卡页C# 调整PropertyGrid控件的大小,c#,winforms,propertygrid,C#,Winforms,Propertygrid,我编写了一些代码,可以调整控件及其所有控件的大小,但PropertyGrid存在一个问题。用户界面是一个包含TabControl tabContAll的GroupBox。在tabContAll中,是一个包含PropertyGrid的选项卡页 private void ResizeUI () { ui.Location = new Point (this.ClientRectangle.Left, this.ClientRectangle.Top + menubar.Height);
private void ResizeUI ()
{
ui.Location = new Point (this.ClientRectangle.Left, this.ClientRectangle.Top + menubar.Height);
ui.Size = new Size (this.ClientRectangle.Width, this.ClientRectangle.Height - menubar.Height);
ResizeControl (tabContAll, ui);
}
private void ResizeControl (Control control, Control parent)
{
control.Location = new Point (parent.ClientRectangle.Left, parent.ClientRectangle.Top);
control.Size = new Size (parent.ClientRectangle.Width, parent.ClientRectangle.Height);
foreach (Control child in control.Controls) {
ResizeControl (child, control);
}
}
加载表单时调用此函数,这与我在循环中注释掉调整大小以使PropertyGrid不调整大小的情况相比较:
此外,当调整其大小时,说明不起作用。它只显示属性的名称。我强烈建议您不要编写调整控件大小的代码,除非您需要非常自定义的行为 改为设置一个或多个属性,其余的留给他们 例如,可以通过将
TabControl
和PropertyGrid
的Dock
属性设置为DockStyle.Fill
来轻松解决您的问题(显然,还可以删除自定义大小调整方法)
以下是WinForms自定义控件设计的完整MSDN演练:
我强烈建议您不要编写调整控件大小的代码,除非您需要非常定制的行为 改为设置一个或多个属性,其余的留给他们 例如,可以通过将
TabControl
和PropertyGrid
的Dock
属性设置为DockStyle.Fill
来轻松解决您的问题(显然,还可以删除自定义大小调整方法)
以下是WinForms自定义控件设计的完整MSDN演练:
也许我错了,但看起来您的问题可以通过使用winforms控件+1的
停靠
和锚定
来解决,而无需额外编码。看起来你想要一个DockPanelMaybe我错了,但是看起来你的问题可以不用额外的编码就解决了,只需使用winforms控件+1的停靠
和锚定
。看起来你想要一个DockPanelI不知道有这样一个属性,我真的没有花时间检查控件的所有属性。我想我吸取了教训。我不知道有这样一个属性,我真的没有花时间检查控件的所有属性。我想我吸取了教训。