Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / VB

Determine selected RadioButton in a Group of RadioButtons

4.00/5 (1 vote)
5 Mar 2010CPOL 1  
This code permits a developer to determine if a radio button is selected in a container such as a panel or GroupBox using syntax similar to TryParse.Requires Requires Framework 3.5 or higherExamplePrivate Sub Button1_Click() Handles Button1.Click Dim SelectedButton As New...
This code permits a developer to determine if a radio button is selected in a container such as a panel or GroupBox using syntax similar to TryParse.

Requires Requires Framework 3.5 or higher


Example
VB
Private Sub Button1_Click() Handles Button1.Click
    Dim SelectedButton As New RadioButton
    If GroupBox1.GetSelectedRadioButton(SelectedButton) Then
        MsgBox(SelectedButton.Name)
    Else
        MsgBox("Please make a selection")
    End If
End Sub


Extension to be placed in a code module
XML
<System.Diagnostics.DebuggerStepThrough()> _
<System.Runtime.CompilerServices.Extension()> _
Public Function GetSelectedRadioButton(ByVal container As Control, _
                                       ByRef Button As RadioButton) As Boolean
    Dim Result As Boolean = False

    Dim RadioCollection = From Control In container.Controls _
                          Where TypeOf Control Is RadioButton Select Control

    If Not RadioCollection Is Nothing Then
        Dim CheckedButton = (From Item In RadioCollection.Cast(Of RadioButton)() _
                             Where Item.Checked).DefaultIfEmpty(Button).First

        If Not CheckedButton.Name.Equals(Button.Name) Then
            Button = CheckedButton
            Result = True
        End If
    End If

    Return Result

End Function

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)