Select Case 多執行路徑敘述
在VB內,Select Case也佔了很重要的位置,雖然Select Case可以用If Then代替掉
但它的方便性卻是If Then 無法替代的
假設我們要寫一個能判斷使用者輸入的程式
題目:輸入「1」就輸出「我很好」,輸入「2」就輸出「電腦不難」,輸入「3」就輸出「掰掰」
我們先用If Then 試寫看看:
X = InputBox(“請輸入您要對VB程式說的話(輸入選項即可) 1.你好嗎? 2.電腦難嗎? 3.我先走了”)
If X = 1 Then
MsgBox “我很好”
ElseIf X = 2 Then
MsgBox “電腦不難”
ElseIf X = 3 Then
MsgBox “掰掰”
End If
↑共127字
用Select Case寫的話:
X = InputBox(“請輸入您要對VB程式說的話(輸入選項即可) 1.你好嗎? 2.電腦難嗎? 3.我先走了”)
Select Case X
Case 1
MsgBox “我很好”
Case 2
MsgBox “電腦不難”
Case 3
MsgBox “掰掰”
End Select
↑共122字
你看,是不是比較精簡啊?
.
Select Case格式如下:
Select Case 變數或運算式
Case 條件值 1
敘述區塊 1
Case 條件值 2
敘述區塊 2
Case 條件值 N
敘述區塊 N
Case Else
敘述區塊 N+1
End Select
用Select Case來判別使用者輸入的資料很簡單,將上面的程式再加點東西吧!
re: X = InputBox(“請輸入您要對VB程式說的話(輸入選項即可) 1.你好嗎? 2.電腦難嗎? 3.我先走了”)
Select Case X
Case 1
MsgBox “我很好”
Case 2
MsgBox “電腦不難”
Case 3
MsgBox “掰掰”
Case Else
MsgBox “未輸入,或輸入錯誤”
GoTo re
End Select
加上紅字部分是用來判斷使用者輸入的數值是否正確。若否,則重新輸入
.
Select Case 也可以用在陣列
首先在表單上擺放5個Command1陣列
要如何建立Command1的陣列呢?
很簡單,先放一個Command1,然後再複製它,再貼上一次
這時就會出現一個訊息
按”是”即可
利用此方法,建立出五個Command1陣列
每個Command1陣列的資料順序都可在”屬性”視窗看到
點兩下Command1陣列中其中一個按鈕
你會發現
Private Sub Command1_Click(Index As Integer)
End Sub
居然不是寫Command1(資料順序)
反而多了一個(Index As Integer)
那這麼多的按鈕,要怎麼判別使用者是按了哪個呢?
答案就是 Select Case !
VB自動將按鈕陣列宣告了一個整數Index,這個Index指的就是這個Command1的資料順序
撰寫出來的程式如下:
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0
MsgBox “這是第一個按鈕”
Case 1
MsgBox “這是第二個按鈕”
Case 2
MsgBox “這是第三個按鈕”
Case 3
MsgBox “這是第四個按鈕”
Case 4
MsgBox “這是第五個按鈕”
End Select
End Sub
↑共170字
若你覺得要用Command1陣列太麻煩,想要直接用個Command1~5也可以
不過會更加的麻煩
所寫出來的程式如下:
Private Sub Command1_Click()
MsgBox “這是第一個按鈕”
End SubPrivate Sub Command2_Click()
MsgBox “這是第二個按鈕”
End SubPrivate Sub Command3_Click()
MsgBox “這是第三個按鈕”
End SubPrivate Sub Command4_Click()
MsgBox “這是第四個按鈕”
End SubPrivate Sub Command5_Click()
MsgBox “這是第五個按鈕”
End Sub
↑共235字
這種方法不但撰寫出來程式碼會變的很長,而且又不易判讀,這是一個程式設計師很忌諱的方式
.
基本上Select Case並不難,稍微思考一下就能寫出來了
應用範圍大致就如上面所教的
本篇教學就到此結束