Warm tip: This article is reproduced from serverfault.com, please click

vb6-根据其他切换按钮状态改变切换按钮状态

(vb6 - Altering togglebutton state based on other togglebutton state)

发布于 2020-12-30 15:02:04

当想单击相邻的切换按钮并将其设置为TRUE时,我想使切换按钮返回其FALSE状态无济于事。当一个切换为真时,将显示几个文本框,允许用户输入数据。完成后,用户使用命令按钮将数据发送到工作表。我想要的是,当一个切换处于 TRUE 状态时,另一个切换必须保持 FALSE,直到单击这将使前一个按钮成为 FALSE。这是用户表单的代码和图像

Private Sub Tractor_Click()
   If Me.Tractor.Value = False Then Exit Sub

   Me.Trailer.Value = False

   If Tractor.Value = True Then
      Unitnumber.Visible = True
      AengineSN.Visible = True
      tractorunit.Visible = True
      Tbaengine.Visible = True
      Submittractor.Visible = True
   End If
End Sub

Private Sub Trailer_Click()
   If Trailer.Value = True Then
      If Me.Trailer.Value = False Then Exit Sub

      Me.Tractor.Value = False

      Unitnumber2.Visible = True
      BengineSN.Visible = True
      CengineSN.Visible = True
      PowerendSN.Visible = True
      TransmissionSN.Visible = True
      TorqueconverterSN.Visible = True
      RadiatorSN.Visible = True
      trailerunit.Visible = True
      Tbbengine.Visible = True
      Tbcengine.Visible = True
      Tbpowerend.Visible = True
      Tbtransmission.Visible = True
      Tbtorqueconverter.Visible = True
      Tbradiator.Visible = True
      Submittrailer.Visible = True
   End If
End Sub

img_togglebutton

Questioner
Munkeyfingers
Viewed
0
Brian M Stafford 2020-12-31 03:34:47

你正在使代码比它需要的复杂一些:

Option Explicit

Private Sub Tractor_Click()
   Unitnumber.Visible = Tractor.Value
   tractorunit.Visible = Tractor.Value

   Unitnumber2.Visible = Not Tractor.Value
   trailerunit.Visible = Not Tractor.Value
End Sub

Private Sub Trailer_Click()
   Unitnumber.Visible = Not Trailer.Value
   tractorunit.Visible = Not Trailer.Value

   Unitnumber2.Visible = Trailer.Value
   trailerunit.Visible = Trailer.Value
End Sub

一些注意事项:

  1. 按钮是相互排斥的。无需设置其他按钮的状态。
  2. 设置状态不会触发 Click 事件,因此你需要处理每个 Click 事件中的所有控件。