Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I hide some of the default control properties at design-time (C#)?

I have a custom control that I made. It inherits from System.Windows.Forms.Control, and has several new properties that I have added. Is it possible to show my properties (TextOn and TextOff for example) instead of the default "Text" property.

My control works fine, I'd just like to de-clutter the property window.

like image 377
Krakerjak Avatar asked Mar 05 '09 17:03

Krakerjak


1 Answers

You could either override them (if they can be overriden) and apply the Browsable attribute, specifying false, or create a new version of the property and apply the same attribute (this second approach doesn't always appear to work so YMMV).

Also, you can use a custom TypeConverter for your type and override the GetProperties method to control what properties get displayed for your type. This approach is more robust to the underlying base classes changing but can take more effort, depending on what you want to achieve.

I often use a combination of the Browsable attribute and a custom TypeConverter.

like image 123
Jeff Yates Avatar answered Sep 19 '22 12:09

Jeff Yates