One more issue you should be aware of is that simply setting an Item to the state button style will not visibly change the Item in any way, and there is no automatic distinction between checked and unchecked state button Items. If you want the checked Item to appear visually distinct from the other Items, you will have to specify how you want the appearance of the checked item to change, using the AppearancesLarge and AppereancesSmall properties of the Item. Through these properties, you can access the CheckedAppearance property and use it to manipulate the Appearance object that is applied to the Item when it is in its checked state.
How you manage this state is up to you - you can change the color (foreground or background) of the Item, alter its transparency, change the look of its border, display a graphic (such as a check box) that changes based on the checked state, or you can change the Item’s text alignment. These capabilities and more are available via the Appearance object which is accessed through the CheckedAppearance property.