views:

31

answers:

1

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!

+2  A: 

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

The second attribute prevents the property from appearing in InitializeComponent

Barry
thanks, that stops the desinger added it to InitializeComponents in new forms, however the designer can still not read the resouce files for forms that allready have the control, so I have to edit the resouce files by hand.
Ian Ringrose