在Visual Studio中调用专用子例程以启用各种无线电盒

时间:2017-11-26 00:43:03

标签: visual-studio-2015

我对编写Visual Basic非常陌生。我正在使用Visual Studio 2015.我正在为我的班级开发一个公寓配置程序。说明要求我启用或禁用某些单选按钮选项,具体取决于程序中的先前选择。

具体来说,方向是:

  • 如果选择'单身公寓'选中,然后仅启用“一个完整的浴室”
  • 的单选按钮选项
  • 如果选择'一卧室公寓'或者一卧室加书房公寓'选中,然后启用“一个完整的浴室”的“单选按钮选项”。和“一个半浴”
  • 如果选择了“两卧室公寓”选项,则启用“一个半浴室”的“单选按钮选项”。或者'两个完整的沐浴'

从视觉上看,界面看起来像这样: enter image description here

我已经编写了以下私人子程序,期望它会根据所选的卧室选项启用或禁用各种浴室。但是,当我切换各种房间大小选项时,我的代码似乎没有调用此例程。

Private Sub EnableBathOptions()
    If rdoBdrmSingle.Checked = True Then
        rdoBthrmOneFull.Enabled = True
        rdoBthrmOneonehalf.Enabled = False
        rdoBthrmTwoFull.Enabled = False
    ElseIf rdoOneBdr.Checked = True Then
        rdoBthrmOneFull.Enabled = True
        rdoBthrmOneonehalf.Enabled = True
        rdoBthrmTwoFull.Enabled = False
    ElseIf rdoOneBdrandDen.Checked = True Then
        rdoBthrmOneFull.Enabled = True
        rdoBthrmOneonehalf.Enabled = True
        rdoBthrmTwoFull.Enabled = False
    Else
        rdoBthrmOneFull.Enabled = False
        rdoBthrmOneonehalf.Enabled = True
        rdoBthrmTwoFull.Enabled = True
    End If
End Sub

如何在我的代码正文中调用/引用此子例程,以便根据所选的卧室可变地启用或禁用浴室选项?

我有一个名为grpBedrooms的groupBox。我是否在该Sub中调用它?

Private Sub grpBedrooms_Enter(sender As Object, e As EventArgs) Handles grpBedrooms.Enter
    EnableBathOptions()
End Sub

提前感谢您对此的帮助。

1 个答案:

答案 0 :(得分:1)

您需要更改当前正在处理的事件在组框的Enter事件上运行的事件。如果我正确理解您的要求,您实际上需要在CheckChanged rdoBdrmSinglerdoOneBdrrdoOneBdrandDen

Private Sub HideControls(sender As Object, e As EventArgs) Handles TheNameofYourRadioButtonHere.CheckedChanged EnableBathOptions() End Sub 事件上运行此操作
rdoBdrmSingle

您需要对rdoOneBdrrdoOneBdrandDenHideControls执行上述操作,这意味着每次更改其中一个时,EnableBathOptions Sub都会运行。

[ServiceContract] public interface Itest { [WebGet(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] [OperationContract] string Hello(); [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare )] [OperationContract] void AddObject(Person p); [WebGet(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)] [OperationContract] string TurnBack(string Name); } 全部放在一起并将相关逻辑放在相关的事件处理程序中也可能是值得的