Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
689 views
in Technique[技术] by (71.8m points)

vb6 - Altering togglebutton state based on other togglebutton state

I have tried to no avail to get a toggle button to return to its FALSE state when an adjacent toggle button is clicked and made TRUE. When one toggle is made true several text boxes will be made visible which allows a user to enter data. Once that is completed the user uses a command button to send the data to a worksheet. What I want is when one toggle is in the TRUE state the other toggle must remain FALSE until clicked which will make the former button FALSE. Here are the code and an image of the user form

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You are making the code a little more complex than it needs to be:

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

A couple of notes:

  1. The buttons are mutually exclusive. There is no need to set the state of the other button.
  2. Setting the state doesn't fire the Click event so you need to handle all controls in each Click event.

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...