我需要在属性窗口中显示这些srings'm_nullPolicy'和'm_nullVersion',我的意思是在属性网格中。截至目前它正在显示 在UI中。当我进行搜索时,我可以看到BrowsableAttribute Class会这样做,但我不知道如何在这里实现它,任何人都可以在这里指导我
这是在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);
}
答案 0 :(得分:0)
手动使用PropertyGrid进行取消时,BrowsableAttribute不适用。
手动我的意思是,逐个在属性网格上插入项目。
但是,您可以使用自动方式...即,使用包含BrowsableAttribute属性的对象,并将对象分配给SelectedObject属性。
请尝试以下操作:
创建一个具有某些属性的类,例如:
class MyClass
{
public string Name { get; set; }
[BrowsableAttribute(false)]
public string InvisibleProperty { get; set; }
}
创建一个带有属性网格的表单。
现在,实例化该类并将其分配给SelectedObject属性,可能采用表单加载事件:
private void Form1_Load(object sender, EventArgs e)
{
propertyGrid1.SelectedObject = new MyClass();
}
在此示例中,属性网格将显示Name
属性,但不显示InvisibleProperty
。