2010-11-03 16 views
2

J'ai un groupe de RadioButtons dans VB.NET. Je voudrais créer une fonction qui va gérer tous ensemble. Mon code est ci-dessous.Code de gestionnaire de boutons radio VB.NET s'exécutant deux fois

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 

Cette fonction fonctionne correctement la première fois que je clique sur un bouton. Le problème vient quand je clique sur un bouton différent. Il se déclenche une fois pour l'état modifié du premier bouton (de coché à non coché) puis de nouveau pour le second bouton (non coché pour cocher).

Des idées sur la façon d'empêcher cela de se produire? Merci d'avance!

Répondre

3

Vous ne pouvez pas. Toutefois, l'expéditeur est le bouton radio sur lequel vous avez cliqué. Vérifiez simplement l'état de cela. Si sender.Checked est False, revenez du gestionnaire d'événements.

+0

Merci - cela a fonctionné parfaitement. – chama