c# - 是否可以从 PropertyGrid 中隐藏枚举值?

标签 c# .net winforms enums propertygrid

我正在使用 PropertyGrid 控件并使用 SelectedObject 属性在 PropertyGrid 中显示数据。我的网格中的一些属性是枚举类型。我想要做的是对用户隐藏枚举中的一些选择。以下面的例子为例:我想对用户隐藏“错误”的枚举。有办法做到这一点吗?

[TypeConverter(typeof(PropertySorter))]
public class Settings
{
    public enum FooType { Type1, Type2, Type3, Type4, Error };
    private FooType fakeProperty = FooType.Type1;

    public FooType FakeProperty
    {
        get { return fakeProperty; }
        set { // Do Something }
    }
}

我通过调用在 PropertyGrid 中显示数据:

myPropertyGrid.SelectedObject = mySettings;

最佳答案

PropertyGrid 中的可见性通常由 [Browsable(...)] 控制。因此,您可以将 [Browsable(false)] 添加到您的 Error 选项。例如:

public enum Foo {
    A,
    [Browsable(false)] B
    C
}

enter image description here

关于c# - 是否可以从 PropertyGrid 中隐藏枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16652461/

相关文章:

c# - 需要交换具体类时的依赖注入(inject) C#

.net - 在软件更新中更新 sqlite 架构和数据的最佳方法是什么?

vb.net - 使用BackgroundWorker 通过FileSystemWatcher 更新主窗体UI?

c# - MVC 3 尝试启动 URL 以查看而不是 Controller 操作

C# MySQL 错误 System.Data.SqlClient.SqlException :

c# - 除了使测试更容易之外,封闭系统中的接口(interface)还带来什么优势?

c# - 如何模拟 BitConverter.IsLittleEndian 与我的单元测试相反的环境?

.net - 如何禁用ASP.NET Core的IIS Express启动配置文件?

c# - 如何刷新绑定(bind)到已更新的 Access 数据库表的 DataGridView?

c# - 更改 DataGridViewCell 用户输入处理行为