如何使用BrowsableAttribute类显示在propertygrid
本文关键字:propertygrid 显示 何使用 BrowsableAttribute | 更新日期: 2023-09-27 18:03:31
我需要显示这些字符串'm_nullPolicy'和'm_nullVersion'在属性窗口,我的意思是在属性网格。到目前为止,它正在显示在UI。当我做了一个搜索,我可以看到BrowsableAttribute类会这样做,但我不知道如何实现它在这里,谁能指导我这里
这是在UI 中显示值的代码if (Data.ResourcePolicy == null)
{
if (Data.AgentVersion == null)
{
SubItems.Add(ResourcePolicyAvailSystemsLVI.m_nullString);
}
else
{
SubItems.Add(m_nullPolicy);
}
}
else
{
SubItems.Add(Data.ResourcePolicy.Name);
}
if (Data.AgentVersion == null || Data.AgentVersion.Equals("0.0.0.0"))
{
SubItems.Add(ResourcePolicySystemsControl.m_nullVersion);
}
else
{
SubItems.Add(Data.AgentVersion);
}
手动处理PropertyGrid时,BrowsableAttribute不适用。
我说的手动是指在属性网格中一个一个地插入项。
然而,你可以使用自动的方式…也就是说,使用一个包含带有BrowsableAttribute属性的对象,并将该对象分配给SelectedObject属性。
创建一个类,带有一些属性,例如:
class MyClass
{
public string Name { get; set; }
[BrowsableAttribute(false)]
public string InvisibleProperty { get; set; }
}
创建一个带有属性网格的表单。
现在,实例化类并将其分配给SelectedObject属性,可能在load事件中:
private void Form1_Load(object sender, EventArgs e)
{
propertyGrid1.SelectedObject = new MyClass();
}
在本例中,属性网格将显示Name
属性,但不显示InvisibleProperty
。