devxlogo

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

See also  5 Tips for Choosing the Right Medical Software for Your Practice
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist