Default settings: they can be a force for good and then quite quickly they can be a right royal pain. After all, when we supply some advanced functionality as part of our suites and controls, it’s good to have a reasonable default setting for the new property or behavior. The issue then becomes what happens when we add some more behavior and suddenly the current default setting is no longer the optimal or better one. What to do? Alter it and have it result in some breaking change in your app? Mmm.
v17.1 of the WinForms suite of controls brings numerous new features, features that we are starting to describe in blog posts. As part of these new, and we hope, better features, we’re changing some default settings. First, let me list the changes I’m talking about, and then I’ll describe how we’re going to mitigate them.
- With the Data Grid, Vertical Grid and Tree List end-users will be able to modify unbound columns' expressions by using the advanced Expression Editor dialog, which supports auto- completion and syntax highlighting.
- Automatic filtering rows for Data Grid and Tree List now allow end-users to change the filtering condition from the default "Equals" (or "Like") to any other condition, e.g. "Starts With" or "Is Not Like".
- Data Grid now prefers speed rather than absolute precision when calculating the best widths for columns.
- Excel-inspired filtering menus are now the default filters for Data Grid and Tree List controls.
- End-users can now hold the "Ctrl" key when dragging Data Grid column headers to the group panel. This allows end-users to apply joint data grouping by multiple columns at once.
- The default Ribbon style is now "Office 2013".
- Tree List control now enables filtering and shows its Find panel out-of-the-box.
I’m sure that you’ll agree that these changes and defaults are very beneficial to your users, but I’m sure there are occasions when you’d rather introduce such changes in a step-wise fashion over a period of time rather than just have them all suddenly appear when you upgrade to v17.1. For new apps, sure, have at it, let’s use them all.
To help you out, we have also added a new static property:
DefaultSettingsCompatibilityMode. To revert all these defaults to their previous values in one go, simply change this property value from
v16. (Refer to this documentation article to see the complete property list this setting affects.) I’m sure you can see where this is going in the future: adding other enumeration values for later version numbers to revert defaults back to a known point.