2010-11-03 46 views
2

我在VB.NET中有一組RadioButtons。我想創建一個函數來處理所有這些函數。我的代碼如下。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 

此功能在我第一次單擊按鈕時正常工作。當我點擊不同的按鈕時,問題就出現了。它會觸發第一個按鈕的更改狀態(從選中到未選中狀態),然後再按第二個按鈕(取消選中以選中)。

關於如何阻止這種情況發生的任何想法?提前致謝!

回答

3

你不能。但是,sender是單擊的單選按鈕。只需檢查其狀態。如果sender.Checked爲False,則從事件處理程序返回。

+0

謝謝 - 它完美的工作。 – chama 2010-11-03 20:44:54