Winforms有一个标题为PropertyGrid
的控件。 PropertyGrid
的显示元素是描述区域。默认情况下,它显示所选属性的名称。使用属性,程序员可以让它显示其他文本。
我想完全删除它。它占用了太多的空间,我不需要让它显示任何东西。我没有在对象模型中看到任何属性来删除它。请发布解决方案以将其删除。
以下是我正在谈论的内容的屏幕截图。我想删除红色区域,以便" PercentComplete"位于框架的底部。
答案 0 :(得分:9)
尝试将PropertyGrid
的{{1}}媒体资源设为HelpVisible
。
答案 1 :(得分:1)
将以下内容添加到您的代码中:
private static void ChangeDescriptionHeight(PropertyGrid grid, int height)
{
if (grid == null) throw new ArgumentNullException("grid");
foreach (Control control in grid.Controls)
{
if (control.GetType().Name == "DocComment")
{
var fieldInfo = control.GetType().BaseType.GetField("userSized",
BindingFlags.Instance |
BindingFlags.NonPublic);
fieldInfo.SetValue(control, true);
control.Height = height;
return;
}
}
}
并称之为:
var progressTimerProperties = new ProgressTimerProperties();
propertyGridProgressTimer.SelectedObject = progressTimerProperties;
ChangeDescriptionHeight(propertyGridProgressTimer, 0);
注意'0'?它将描述区域的高度设置为0,从而有效地将其删除。如果你想要,你可以朝相反的方向前进,使其更大,以容纳更多的文字。