VB.NET单选按钮处理程序代码运行两次

VB.NET单选按钮处理程序代码运行两次,vb.net,radio-button,Vb.net,Radio Button,我在VB.NET中有一组单选按钮。我想创建一个函数来处理所有这些问题。我的代码如下 Private Sub employmentStatusChanged(ByVal sender As System.Object,_ ByVal e As System.EventArgs) Handles rbtnEmployed.CheckedChanged, _ rbtnUnemp.CheckedChanged, rbtnStudent.CheckedCh

我在VB.NET中有一组
单选按钮。我想创建一个函数来处理所有这些问题。我的代码如下

    Private Sub employmentStatusChanged(ByVal sender As System.Object,_
          ByVal e As System.EventArgs) Handles rbtnEmployed.CheckedChanged, _ 
          rbtnUnemp.CheckedChanged, rbtnStudent.CheckedChanged, rbtnRetired.CheckedChanged
    If rbtnEmployed.Checked Then 
        Dim employ As New Employer
        employ.ShowDialog()
    ElseIf rbtnStudent.Checked Then
        Dim stud As New Students
        stud.ShowDialog()
    ElseIf rbtnRetired.Checked Then
        Dim employ As New Employer
        employ.ShowDialog()
    End If
End Sub
当我第一次单击按钮时,此功能工作正常。当我点击另一个按钮时,问题就出现了。它为第一个按钮的更改状态(从选中到未选中)触发一次,然后为第二个按钮(未选中到已选中)再次触发


有没有办法阻止这种情况发生?提前谢谢

你不能。但是,sender是单击的单选按钮。检查一下它的状态。如果sender.Checked为False,则从事件处理程序返回