Map an enumerated value to a set of OptionButton controls

Map an enumerated value to a set of OptionButton controls

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 = 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)


Share the Post: