-1

I am making an apartment rental form using Visual Basic (Express 2010) and I need to gray out some radio buttons when another radio button is selected. 现在,变灰本身不是问题,即我可以让单选按钮变灰,但不是在我想要的时候。

我需要单击表单上的一个按钮以使特定的单选按钮变灰,但是当我单击另一个单选按钮时,我希望它们变灰。

这是我实现子例程的方式,但它们不像我计划的那样工作。

Private Sub grpBedrooms_CheckedChanged() Handles grpBedrooms.MouseClick

    If rdoOneBed.Checked Then
        Call EnableOneBath()
        Call DisableTwoBaths()
    End If

    If rdoOneBedDen.Checked Then
        Call EnableOneBath()
        Call DisableTwoBaths()
    End If

    If rdoTwoBeds.Checked Then
        Call EnableTwoBaths()
        Call DisableOneBath()
    End If

    grpBedrooms.Refresh()

End Sub

所以基本上,我希望当我点击收音机 rdoOneBed 或 rdoTwoBeds 等时立即激活 DisableOneBath() 或 DisableTwoBaths()。

实际使收音机变灰的代码是这样的:

 Private Sub DisableTwoBaths()
    Me.rdoTwoBaths.Enabled = False
End Sub

感谢您的帮助!

4

1 回答 1

0

试试这个 ..

Private Sub Bedrooms_Checked(sender As Object, e As EventArgs) Handles rdoOneBed.CheckedChanged, rdoTwoBeds.CheckedChanged
Dim rb as RadioButton = CType(sender,RadioButton)

if rb Is rdoOneBed then
  if rdoOneBed.Checked Then DisableTwoBaths() 
elseif rb Is rdoTwoBed then
  if rdoTwoBed.Checked Then DisableOneBath()
Endif

End Sub
于 2013-06-17T09:57:41.103 回答