Как заставить WinForm Designer полностью игнорировать свойство на пользовательском элементе управления?

Это должен быть FAQ, но я не могу найти дублирующий вопрос!

Есть много разных атрибутов, которые управляют тем, что делает WinForm Designer со свойствами на настраиваемом элементе управления, я никогда не вижу смысла в том, что я должен использовать в этом случае.

Я ищу:

  • Дизайнер не отображает свойство в сетке
  • Дизайнер не читает значение свойства
  • Дизайнер не устанавливает свойство по умолчанию
  • например. Дизайнер ведет себя так, как будто свойство не было.
  • Дизайнер не жалуется, если он уже выполнил одно из указанных выше, прежде чем добавлять атрибуты (трудно!)

Фон.

Код, который задает мне проблему:

this.eventListControl.FilterSets = 
   ((SystList<FilterSet>)(resources.GetObject("eventListControl.FilterSets")));

Свойство FilterSets никогда не должно затрагиваться дизайнером winforms; теперь он не Serializable и MsDev падает каждый раз, когда форма, использующая eventListControl, изменяется!

Ответ 1

Я думаю, вы можете использовать [Browsable (false)] и [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

Второй атрибут запрещает появление свойства в InitializeComponent