注册 登录
编程论坛 VB6论坛

VB Check 控制按钮的激活状态

opelwang 发布于 2017-07-16 21:39, 3153 次点击

窗体启动时:
按钮1、按钮2、按钮3,处于激活状态,
按钮4、按钮5、处于未激活状态。

当点击Check1按钮时(True)时,
按钮1、按钮2、按钮3,处于未激活状态,
按钮4、按钮5、处于激活状态。

当点击Check1按钮时(False)时,
按钮1、按钮2、按钮3,处于激活状态,
按钮4、按钮5、处于未激活状态。

以下是程序代码,不知道为什么,就是实现不了,请指教,谢谢!
程序代码:
Private Sub Check1_KeyPress(KeyAscii As Integer)
    With Me
        .Command1.Enabled = False
        .Command2.Enabled = False
        .Command3.Enabled = False

        .Command4.Enabled = True
        .Command5.Enabled = True
    End With
End Sub

Private Sub Command1_Click()
    MsgBox "按钮1", 64 + 0, "提醒"
End Sub

Private Sub Command2_Click()
    MsgBox "按钮2", 64 + 0, "提醒"
End Sub

Private Sub Command3_Click()
    MsgBox "按钮3", 64 + 0, "提醒"
End Sub

Private Sub Command4_Click()
    MsgBox "按钮4", 64 + 0, "提醒"
End Sub

Private Sub Command5_Click()
    MsgBox "按钮5", 64 + 0, "提醒"
End Sub

Private Sub Command6_Click()
    Unload Me
End Sub

Private Sub Form_Load()
    Me.Command4.Enabled = False
    Me.Command5.Enabled = False
End Sub
9 回复
#2
opelwang2017-07-16 21:39

上传附件,谢谢。

只有本站会员才能查看附件,请 登录
#3
ZHRXJR2017-07-16 23:03
程序代码:
Private Sub Check1_Click()
    Command1.Enabled = False
    Command2.Enabled = False
    Command3.Enabled = False
    Command4.Enabled = False
    Command5.Enabled = False
If Check1.Value = 0 Then
    Command4.Enabled = True
    Command5.Enabled = True
ElseIf Check1.Value <> 0 Then
    Command1.Enabled = True
    Command2.Enabled = True
    Command3.Enabled = True
End If
End Sub

Private Sub Command1_Click()
    MsgBox "按钮1", 64 + 0, "提醒"
End Sub

Private Sub Command2_Click()
    MsgBox "按钮2", 64 + 0, "提醒"
End Sub

Private Sub Command3_Click()
    MsgBox "按钮3", 64 + 0, "提醒"
End Sub

Private Sub Command4_Click()
    MsgBox "按钮4", 64 + 0, "提醒"
End Sub

Private Sub Command5_Click()
    MsgBox "按钮5", 64 + 0, "提醒"
End Sub

Private Sub Command6_Click()
    Unload Me
End Sub

Private Sub Form_Load()
    Command1.Enabled = True
    Command2.Enabled = True
    Command3.Enabled = True
    Command4.Enabled = False
    Command5.Enabled = False
End Sub
#4
opelwang2017-07-17 20:30
以下是引用ZHRXJR在2017-7-16 23:03:32的发言:

Private Sub Check1_Click()
    Command1.Enabled = False
    Command2.Enabled = False
    Command3.Enabled = False
    Command4.Enabled = False
    Command5.Enabled = False
If Check1.Value = 0 Then
    Command4.Enabled = True
    Command5.Enabled = True
ElseIf Check1.Value <> 0 Then
    Command1.Enabled = True
    Command2.Enabled = True
    Command3.Enabled = True
End If
End Sub

Private Sub Command1_Click()
    MsgBox "按钮1", 64 + 0, "提醒"
End Sub

Private Sub Command2_Click()
    MsgBox "按钮2", 64 + 0, "提醒"
End Sub

Private Sub Command3_Click()
    MsgBox "按钮3", 64 + 0, "提醒"
End Sub

Private Sub Command4_Click()
    MsgBox "按钮4", 64 + 0, "提醒"
End Sub

Private Sub Command5_Click()
    MsgBox "按钮5", 64 + 0, "提醒"
End Sub

Private Sub Command6_Click()
    Unload Me
End Sub

Private Sub Form_Load()
    Command1.Enabled = True
    Command2.Enabled = True
    Command3.Enabled = True
    Command4.Enabled = False
    Command5.Enabled = False
End Sub


感谢版主帮忙,测试了下,好像不行。

Check1按第一下,没反应。

再点击就有反应了。

只有本站会员才能查看附件,请 登录


#5
ZHRXJR2017-07-18 11:39
肯定的,你的代码原来启动就设置了
    = False
    = False
那么
    Command1.Enabled = True
    Command2.Enabled = True
    Command3.Enabled = True
与  Check1.Value = 0 是一致的,因此看起来没有变化,除非将
程序代码:
Private Sub Form_Load()
    Command1.Enabled = False
    Command2.Enabled = False
    Command3.Enabled = False
    Command4.Enabled = False
    Command5.Enabled = False
End Sub

或:
Private Sub Form_Load()
     Check1.Value = 0
End Sub

设置成这样。

[此贴子已经被作者于2017-7-18 11:47编辑过]

#6
opelwang2017-07-18 21:56
以下是引用ZHRXJR在2017-7-18 11:39:33的发言:

肯定的,你的代码原来启动就设置了
    = False
    = False
那么
    Command1.Enabled = True
    Command2.Enabled = True
    Command3.Enabled = True
与  Check1.Value = 0 是一致的,因此看起来没有变化,除非将
Private Sub Form_Load()
    Command1.Enabled = False
    Command2.Enabled = False
    Command3.Enabled = False
    Command4.Enabled = False
    Command5.Enabled = False
End Sub
或:
Private Sub Form_Load()
     Check1.Value = 0
End Sub
设置成这样。



还是不行:
我的结果是,在窗体启动时:
    Command1,Command2,Command3 为激活状态
    Command4,Command5 为未激活状态
    Check1为未选中状态。

当点击:Check1为选中状态时,
    Command1,Command2,Command3 为未激活状态
    Command4,Command5 为激活状态

当点击:Check1为非选中状态时,
    Command1,Command2,Command3 为激活状态
    Command4,Command5 为未激活状态

能否上传一个搞好的附件,谢谢。

.
#7
wmf20142017-07-19 08:10
so easy!

程序代码:
Private Sub Check1_Click()
  Command1.Enabled = False
  Command2.Enabled = False
  Command3.Enabled = False
  Command4.Enabled = False
  Command5.Enabled = False
  If Check1.Value Then
    Command4.Enabled = True
    Command5.Enabled = True
  Else
    Command1.Enabled = True
    Command2.Enabled = True
    Command3.Enabled = True
  End If
End Sub

Private Sub Form_Load()
  Check1.Value = 0
  Check1_Click
End Sub
#8
ZHRXJR2017-07-19 10:26
Private Sub Form_Load()
    Check1.Value = 1
End Sub

哎!上次代码有点错误,应该是 Check1.Value = 1,不是  Check1.Value = 0
已经测试过,没有问题。
你自己也应该动动手,不要亦为靠别人。
#9
Jason6662017-07-19 13:43
那不就是取反,在check_click 事件中 按钮.enable值取反
程序代码:
Private Sub Check1_Click()
    Command1.Enabled = Not Command1.Enabled
    Command2.Enabled = Not Command2.Enabled
    Command3.Enabled = Not Command3.Enabled
    Command4.Enabled = Not Command4.Enabled
    Command5.Enabled = Not Command5.Enabled
End Sub
#10
奔驰obc2017-07-19 18:15
已经验证,没问题
Option Explicit
Private Sub Check1_Click()
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = False
If Check1.Value = 1 Then
Command4.Enabled = True
Command5.Enabled = True
Else
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
End If
End Sub

Private Sub Command1_Click()
MsgBox "按钮1", 64, "提醒"
End Sub

Private Sub Command2_Click()
MsgBox "按钮2", 64, "提醒"
End Sub

Private Sub Command3_Click()
MsgBox "按钮3", 64, "提醒"
End Sub

Private Sub Command4_Click()
MsgBox "按钮4", 64, "提醒"
End Sub

Private Sub Command5_Click()
MsgBox "按钮5", 64, "提醒"
End Sub

Private Sub Command6_Click()
End
End Sub

Private Sub Form_Load()
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = False
Command5.Enabled = False
End Sub
1