By default, the fields in the designer are listed in alphabetical order. Does anyone know which attribute to use in the System.ComponentModel
namespace to set the order explicitly?
views:
22answers:
2
+2
A:
You can implement ICustomTypeDescriptor and return the properties in the order you like. There is no guarantee the ui elements will honour that order.
MaLio
2010-07-20 15:53:30
I need the UI to honor the order. There are 2 options in the designer. One is A->Z option that sorts the properties alphabetically. When this is not selected, I need it in the order I specify explicitly. Currently it does alphabetical order by default. Will the ICustomTypeDescriptor solve this issue?
2010-07-20 16:00:56
+1
A:
Use the [Category] attribute to group properties so that the user can click the "Categorized" icon in the Properties window to arrange them. Within a category, the names will still be sorted alphabetically.
The PropertyGrid.PropertySort property does have a setting for it (PropertySort.Categorized vs PropertySort.CategorizedAlphabetical) but the IDE's Properties window doesn't have an icon to choose between them.
Hans Passant
2010-07-20 19:36:43