Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
       Case "Kye1"
       Frame2.Visible = True
       Case "Key2"
         MyExit = MsgBox("你确实要退出程序吗?", vbOKCancel, "退出")
   If MyExit = vbOK Then
   End
   End If
       Case "Key3"
          Form2.Show
       Case "key4"
          Text1.FontSize = 12
          End Select
          
End Sub
为什么这段代码在运行时,只有Case "Key4"的代码 起作用.而前面的没用生效吗?

解决方案 »

  1.   

    Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 
    Debug.Print "[" & trim(cstr(Button.key)) & "]" '运行时候看看,都返回什么值了
    Select Case Button.Key 
          Case "Kye1" 
          Frame2.Visible = True 
          Case "Key2" 
            MyExit = MsgBox("你确实要退出程序吗?", vbOKCancel, "退出") 
      If MyExit = vbOK Then 
      End 
      End If 
          Case "Key3" 
              Form2.Show 
          Case "key4" 
              Text1.FontSize = 12 
              End Select 
              
    End Sub 
      

  2.   

    估计是你用错变量
    Select Case Button.Key
    Case "Kye1"   '这里可能是Key1还有,对比字符串时最好将字符串格式化成大写或小写的
    如:
    Select Case Ucase(Button.Key)      '这里将字符串转换为了大写字母
    Case "KEY1"
    ...
      

  3.   

    Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) 
    Select Case Button.Key 
          Case "Kye1" 
          Frame2.Visible = True 
          Case "Key2" 
            MyExit = MsgBox("你确实要退出程序吗?", vbOKCancel, "退出") 
            If MyExit = vbOK Then 
             End 
            End If 
          Case "Key3" 
              Form2.Show 
          Case "key4"    ----------------支持上面的观念,大小写问题!!
              Text1.FontSize = 12 
              End Select           
    End Sub 
      

  4.   

    还是和以前一样.没有什么改变啊?
    运行后,就"KEY4"能表达的出来.点击其它按钮都没有反应.而且没有提示说有错误.
      

  5.   

    原因可能有二个:
    (1)按钮是从工具箱拖而不是从属性页插入的;
    (2)属性页上的Key值根本就不是"Key1""Key2""Key3",后一种可能性较大
      

  6.   

    建议楼主检查属性页上每个按钮的Key值
      

  7.   

    我试了上面的代码,是属性页里的Key与代码里不一致造成的,两者必须完全一样,包括大小写.vb里一般不区分大小写,但这里不行