我对编写Visual Basic非常陌生。我正在使用Visual Studio 2015.我正在为我的班级开发一个公寓配置程序。说明要求我启用或禁用某些单选按钮选项,具体取决于程序中的先前选择。
具体来说,方向是:
我已经编写了以下私人子程序,期望它会根据所选的卧室选项启用或禁用各种浴室。但是,当我切换各种房间大小选项时,我的代码似乎没有调用此例程。
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
提前感谢您对此的帮助。
答案 0 :(得分:1)
您需要更改当前正在处理的事件在组框的Enter事件上运行的事件。如果我正确理解您的要求,您实际上需要在CheckChanged
rdoBdrmSingle
,rdoOneBdr
和rdoOneBdrandDen
Private Sub HideControls(sender As Object, e As EventArgs) Handles TheNameofYourRadioButtonHere.CheckedChanged
EnableBathOptions()
End Sub
事件上运行此操作
rdoBdrmSingle
您需要对rdoOneBdr
,rdoOneBdrandDen
和HideControls
执行上述操作,这意味着每次更改其中一个时,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);
}
全部放在一起并将相关逻辑放在相关的事件处理程序中也可能是值得的