问题描述
我正在使用propertyGrid面板,并且试图删除或隐藏“属性页面”按钮,因为这对我没有用,所以我尝试将ToolBarVisible设置为false,但这隐藏了工具栏中的所有三个按钮。这是我的属性表格:
解决方法
没有官方的方法,但是您可以破解属性网格,访问其内部控件。
这里是一个示例代码,试图尽可能优雅地执行此操作。您还可以测试最后一个控件的文本是否为“属性页”,但可能不适用于本地化版本。
var buttons = propertyGrid1.Controls.OfType<ToolStrip>().FirstOrDefault()?.Items;
if (buttons != null &&
buttons.Count >= 2 &&
buttons[buttons.Count - 1] is ToolStripButton && // could test Text...
buttons[buttons.Count - 2] is ToolStripSeparator)
{
buttons[buttons.Count - 1].Visible = false;
buttons[buttons.Count - 2].Visible = false;
}
使用风险自负。