如何从PropertyGrid中删除/隐藏“属性页”按钮?

问题描述

我正在使用propertyGrid面板,并且试图删除或隐藏“属性页面”按钮,因为这对我没有用,所以我尝试将ToolBarVisible设置为false,但这隐藏了工具栏中的所有三个按钮。这是我的属性表格:

enter image description here

解决方法

没有官方的方法,但是您可以破解属性网格,访问其内部控件。

这里是一个示例代码,试图尽可能优雅地执行此操作。您还可以测试最后一个控件的文本是否为“属性页”,但可能不适用于本地化版本。

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;
}

使用风险自负。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...