嗯,那赢了';不要这样做……如果……那么……否则只会按顺序评估项目,而忽略其余项目……但我怀疑你已经发现了,否则你不会';如果你知道复选框的数量,你可以将每个复选框分为单独的If.then语句[代码然而,更理想的方法可能是使用每个复选框的事件处理程序…
- Private Sub Chkbox1_Click ()
- If Chkbox1.Value = True Then
- 'Do Stuff
- Else
- 'Undo Stuff
- End If
- End Sub
然后,您要做的是在应用程序启动时存储每个复选框的值,如果用户取消,则重置导致执行撤消操作的复选框的数值
还有其他方法,例如循环通过控件并根据控件名称执行操作 - 'Put this code in a sub that is executed at form closing time, when it wasn't cancelled
- Dim cntrl As Control
- For Each cntrl In MyForm.Controls 'Change this to your own form name
- Select Case cntrl.Name
- Case "Chkbox1"
- 'Do Stuff
- Case "Chkbox2"
- 'Do Stuff
- Case "Chkbox3"
- 'Do Stuff
- Case Else
- 'Do Stuff
- End Select
- Next cntrl
祝你好运 |