In VB6 and previous version, displaying an enumerated value in a group of option buttons is quite simple, provided that the option buttons be grouped in a control array. VB.NET doesn’t support control arrays, so you can’t reuse the same simple coding techniques. However, you can prepare a couple of helper procedure to make your job as easy as possible:
' set the RadioButton corresponding to the specified value' sets the first RadioButton if the value is out of the valid rangeSub SetRadioButton(ByVal value As Integer, ByVal ParamArray ctrls() As _ RadioButton) ' keep the value in correct range If value < 0 Or value >= ctrls.Length Then value = 0 ctrls(value).Checked = TrueEnd Sub' return the index of the only selected RadioButton in a group' returns -1 if no RadioButton is checkedFunction GetRadioButton(ByVal ParamArray ctrls() As RadioButton) As Integer Dim value As Integer For value = 0 To ctrls.Length - 1 If ctrls(value).Checked Then Return value Next Return -1End Function
Here’s how you can use these routines. Say that you have three RadioButton controls named rbuBlack, rbuGray, and rbuWhite and you want to use them to display a value from a variable that can be 0 (black), 1 (gray), or 2 (white).
' set the RadioButton corresponding to a color Dim color As Integer = 1SetRadioButton(color, rbuBlack, rbuGray, rbuWhite)' ...' retrieve the color set by the usercolor = GetRadioButton(rbuBlack, rbuGray, rbuWhite)