При ручном обращении к PropertyGrid вручную атрибут BrowsableAttribute не применяется.
Под "вручную" я подразумеваю вставку элементов в сетку свойств один за другим.
Однако вы можете использоватьавтоматизированный способ ... то есть, используя объект, который содержит свойства с BrowsableAttribute, и назначьте объект свойству SelectedObject.
Попробуйте выполнить следующее:
Создайтеclass, с некоторыми свойствами, например:
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
.