VB语言有一段select的问题, select case a case a<0 label

2025-02-25 11:21:26
推荐回答(2个)
回答1:

1.Select Case结构格式:   

    Select Case e 
        Case  e1 
              'A组语句 
        Case  e2 
             'B组语句 
        …… 
        Case  Else 
            'n组语句 
    End Select

2.说明  

e为测试表达式,可以是算术表达式或字符表达式,其值应是数字或字符型 

e1、e2等是测试项,取值必须与测试表达式的值类型相同,常用形式为: 

      具体取值,用逗号隔开,如:1,5,9 

      连续的范围:界1 TO 界2 ,如:12 To 20  

      满足某个条件:Is运算符,如:Is>10 

      三种形式可以组合使用

3.示例

Private Sub Command1_Click()
  Dim x As Integer    '定义变量x 为整形数
  x = Val(Text1.Text)  '把文本框Text1里显示内容通过Val函数转成数值型数据再赋值给变量x 
  Select Case x         '测试表达式的值为x
    Case Is >= 90              '测试表达式的值x大于等于90情况下
      Text2.Text = "优秀"    '文本框Text2中显示“优秀”
    Case 80 To 90             '测试表达式的值x在80至90情况下
      Text2.Text = "良好"     '文本框Text2中显示“良好”
    Case 70, 71, 72, 73, 74, 75, 76, 77, 78, 79 '测试表达式的值x为70、71、72、73、74、75、76、77、78、79情况下
      Text2.Text = "中等"     '文本框Text2中显示“中等”
    Case 60, 61, 62, 63 To 66, Is >= 67 '测试表达式的值x为60、61、62、63、在64至66情况下、大于等于67的情况下
      Text2.Text = "及格"     '文本框Text2中显示“及格”
    Case Else                    '测试表达式的值x在其它情况下
      Text2.Text = "不及格" '文本框Text2中显示“不及格”
    End Select
End Sub

回答2:

case后只能是值,不能是表达式。你这种需求要用if else。