VB教程:單選按鈕(OptionButton)

字號:

4、單選按鈕(Option Button)
    作用:顯示一個可打開/關(guān)閉的選項
    注意:同一組只可選中一個選項。
    Option Button單選鈕控件總是以組的形式出現(xiàn)的。在一組Option Button控件中,總是只有一個單選鈕處于選中狀態(tài);如果選中了其中的一個,其余單選鈕則自動清除為非選中狀態(tài)。
    (1)常用屬性
    Caption——指定單選鈕所表示的選擇項的內(nèi)容。
    value——返回或設(shè)置單選鈕的狀態(tài)。
    value= true '選中了控件代表的項
    value= false '沒有選中控件代表的項
    Enabled——表示單選鈕當(dāng)前是否可用。其值為True時,表示單選鈕為正??捎脿顟B(tài);為False時.表示單選鈕處于不可用狀態(tài),此時選擇項內(nèi)容變?yōu)榈窨虪睢?BR>    (2)例子:
    [例1]:顯示兩個數(shù)的四則運算結(jié)果。見教材P118。
    Private Sub Form_Load()
    Option1(0).Value = True '選中第一個選項。
    Label2.Caption = 56 * 89
    End Sub
    --------------------------------------------------------------------------------
    Private Sub Option1_Click(Index As Integer)
     Select Case Index
     Case 0
     Label2.Caption = 56 * 89 '選擇乘法
     Case 1
     Label2.Caption = 56 / 89 '選擇除法
     Case 2
     Label2.Caption = 56 + 89 '選擇加法
     Case 3
     Label2.Caption = 56 - 89 '選擇減法
     End Select
    End Sub
    注意:
    本例中,單選按鈕可采用復(fù)制的方法獲得一組。
    當(dāng)單選按鈕的value設(shè)為true時,相當(dāng)于進行click事件。
    [程序演示] [程序下載]
     Select Case語句是VB提供的又一種條件語句,用來實現(xiàn)多分支選擇(見教材第三章)。
     Select Case語句的一般格式如下:
     Select Case 變量
     Case 值 1
     語句 1
     Case 值 2
     語句 2
     .
     .
     .
     Case 值 n
     語句 n
     [Case Else
     語句 n+1]
     End Select
     Select Case中的“變量”稱為Case變量,它可以是一個表達式,通常使用一個變量或常量,也可以是數(shù)值型或字符串型。在每個Case子句中指定一個值,當(dāng)Case變量的值符合某個Case子句指定值的條件時,就執(zhí)行該Case子句中的語句,然后跳到End Select,從End Select出口。這里的“語句”可以是一個語句,也可以是一組語句。如果變量的值與任何一個Case子句都不匹配,就執(zhí)行Case Else子句后面的“語句 n+1”,然后從End Select出口(如果程序中,不涉及到這種情況,[]中的程序段可以不要)。
    [例2]:將已知的兩個數(shù)據(jù)進行:乘法、除法、加法、減法運算。
    添加四個單選按鈕、四個標簽、兩個文本框。
    Dim result As Double
    Private Sub Option1_Click()
     If Option1.Value Then
    Label1.Caption =""
    result = Val(Text1.Text) * Val(Text2.Text) 'val()將字符串轉(zhuǎn)換為數(shù)值型(因為文本框只接受字符型數(shù)據(jù),而程序要求Text1中的數(shù)據(jù)參加數(shù)值運算)
    Label1.Caption = Str(result) ' str()將數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符串類型
    End If
    End Sub
    --------------------------------------------------------------------------------
    Private Sub Option2_Click()
    If Val(Text2.Text) = 0 Then
    MsgBox "被除數(shù)不能為零,請重新輸入!" 'MsgBox語句
    Else
    If Option2.Value Then
     Label1.Caption =""
     result = Val(Text1.Text) / Val(Text2.Text)
     Label1.Caption = Str(result)
    End If
    End If
    end sub
    --------------------------------------------------------------------------------
    Private Sub Option3_Click()
    If Option3.Value Then
    Label1.Caption =""
    result = Val(Text1.Text) + Val(Text2.Text)
    Label1.Caption = Str(result)
    End If
    End Sub
    --------------------------------------------------------------------------------
    Private Sub Option4_Click()
    If Option4.Value Then