Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get the WinForm Designer to totally ignore a property on a custom control?

This must be a FAQ, but I can’t find a duplicate question!

There are lot of different attributes that control what the WinForm Designer does with properties on a custom control, I am never clear on the one I should use in this case.

I am looking for:

  • Designer does not show property in grid
  • Designer does not read value of property
  • Designer does not set property to default value
  • E.g. Designer behaves as if the property was not there.
  • Designer does not complain if it has already done one of the above before the attributes were added (hard!)

Background.

The code that is giving me the problem is:

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

The FilterSets property should never have been touched by the winforms designer; it is now not Serializable and MsDev falls over every time a form that used the eventListControl is changed!

like image 990
Ian Ringrose Avatar asked Apr 08 '10 09:04

Ian Ringrose


1 Answers

I think you can use [Browsable (false)] and [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

The second attribute prevents the property from appearing in InitializeComponent

like image 129
codingbadger Avatar answered Oct 20 '22 13:10

codingbadger