I have a group box which has some radio buttons. I am trying to implement serialization with the help of a tutorial from Code Project. That tutorial supports serialization of checkboxes and not radio buttons. So i need to make the radio buttons in my app as checkboxes (that is they should be check boxes but work like a radiobutton).
I tried writing code, but what happens is when I find that a particular checkbox is checked and I go to uncheck or vice versa, it triggers that checked_changed event handler and this goes into an infinite loop.
Can someone help me out with this?
Thanks
UPDATE:
After seeing your replies, I would like to say thanks a lot. Yes, You are all right that we should not be messing with the basic properties. I will work with changing the serialization method.
P.S The link for the tutorial is http://www.codeproject.com/KB/dialog/SavingTheStateOfAForm.aspx
Final Update:
After following the replies posted here, I decided not to change the default properties but to change the serializer code. I did that and it now works perfectly. Thanks a lot, everyone.
I agree with all the commenters: do not make checkboxes that act like radio buttons, it flies in the face of UI conventions and confuses users.
The right way to do this is to fix your code to serialize the radio buttons, but without seeing your code it’s hard to know how to help you. For a start, you can fix the
CheckedChangedlooping by temporarily removing the event handler before you do anything. For example:If this alone doesn’t fix your issue, please show us your code and we’ll try to help more.
Edit: Based on the tutorial listed in your update, I’m guessing the problem happens when you call
FormSerialisor.Deserialise(), which triggers your controls’ event handlers to fire? If that’s the case, the quick fix is to just do what I mentioned: remove the radio button event handlers before callingFormSerialisor.Deserialise()and then re-add them afterwards. Example:You may also need to edit the FormSerialisor class to handle RadioButtons; just copy the code that handles checkboxes but change all the references to RadioButton. It’s not clear from your question whether this step will be necessary or not.