The second component for the next release is now finished. It allows a set of KryptonCheckButton instances to be grouped together and enforces mutual exclusion.

It was suggested by a couple of feedback comments on the blog that a control be created for performing this logic as well as laying out the instances automatically. I don’t like that approach because it places restrictions on how the checked buttons will be layed out. It forces all the buttons to be next to each other.

Instead I have created a component that has a collection that can be edited at design time to specify the list of check button instances it manages. That way you can layout the buttons however you like which is far more flexible. Here is how the component and the check buttons look on the design surface.

You can see the KryptonCheckSet instance in the component tray. I had to implement a custom collection editor so that selecting the instances to place into the check set is as quick and simple as possible. Here is the collection editor at design time.

The editor lists all the KryptonCheckSet instances on the form and then you just use the check box to indicate the ones you want to be managed by the component.

Leave a Reply