選擇結構課件_第1頁
選擇結構課件_第2頁
選擇結構課件_第3頁
選擇結構課件_第4頁
選擇結構課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、教學目標掌握IFTHENElse語句熟悉組合框、列表框、檢查列表框(CheckedListBox)掌握Select Case語句 牛牛文庫文檔分享4.1 If語句4.1.1 IfThen語句 If-Then語句用來當條件滿足時執(zhí)行某些語句,反之則不執(zhí)行。If-Then語句的格式如下: If Then 語句塊 End If If-Then語句亦稱為單分支結構。其中條件表達式的值為Boolean型,用將條件表達式括起來表示它在IF語句中是必須具有的一項,即IF語句中的條件表達式不可缺少。 牛牛文庫文檔分享 例如,對輸入的數(shù)值進行判斷。輸入大于25的數(shù)值時,在MessageBox內(nèi)顯示“大于25”。

2、否則將不顯示任何信息。 If intNumber 25 Then MessageBox.Show( 大于25) End If 牛牛文庫文檔分享4.1.2 IfThenElse語句 當條件表達式的值為True時,程序執(zhí)行一些語句,其值為False時,程序執(zhí)行另一些語句,此時可以使用If-Then-Else語句。If-Then-Else語句的格式如下: If Then Else End If 該語句的作用是當條件表達式的值為True時,程序執(zhí)行語句塊1,當條件表達式的值為False時,程序?qū)?zhí)行語句塊2。 牛牛文庫文檔分享例如對intSex變量進行判斷,為0時是男性;否則是女性:If intSex

3、=0 ThenMessageBox.Show(“You are a man!”)ElseMessageBox.Show(“You are a woman!”)End If 牛牛文庫文檔分享 創(chuàng)建一新的項目,對輸入的數(shù)值進行判斷。在其中的一個TextBox中輸入數(shù)值,如果輸入的數(shù)據(jù)為7的整倍數(shù),在另一個TextBox文本框內(nèi)顯示“是7的倍數(shù)”,反之則顯示“不能被7整除”。在窗體上放置2個TextBox控件,分別用來接受輸入和顯示結果,Name屬性分別為TxtInput和TxtResult。再添加一個按鈕,并為這個按鈕的Click事件編寫如下代碼: Private Sub BtnGo_Click(

4、ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles BtnGo.Click Dim lngIn As Long lngIn = Convert.ToInt64(TxtInput.Text) If lngIn Mod 7 = 0 Then TxtResult.Text = 是7的倍數(shù) Else TxtResult.Text = 不能被7整除 End IfEnd Sub 程序中使用了顯示的轉(zhuǎn)換Convert.ToInt64,當然也可以直接賦值,由Visual Basic作隱式轉(zhuǎn)換。 牛牛文庫文檔分享4.1.3 I

5、fThenElseIf語句 分支超過2個的情況,此時可以在IfThenEnd If結構中使用ElseIf 語句,格式如下: If Then ElseIf Then Else 語句塊n+1 End If 該語句的作用是根據(jù)不同的條件表達式的值確定執(zhí)行哪個語句塊,Visual Basic測試條件的順序為條件表達式1、條件表達式2、,每當遇到某個條件表達式值為True時,就執(zhí)行該條件下的語句塊。 牛牛文庫文檔分享例如在下面一段代碼中根據(jù)Caller的值不同而執(zhí)行不同的語句。 If Caller = Joe Then MessageBox.Show( Yes!) ElseIf Caller = Mat

6、t Then MessageBox.Show(Okay, but if you buy.) ElseIf Caller = Jeff Then MessageBox.Show(Im washing my hair tonight.) ElseIf Caller = Robby Then MessageBox.Show( This is a recording.) End If注意: 1.的是不管程序有幾個分支,在執(zhí)行了一個分支后,其余 分支不再執(zhí)行。2.ElseIf不要寫成Else If。 牛牛文庫文檔分享4.1.4嵌套IfThen語句 If語句可以嵌套,既可在If語句當中可以包含另外一個If

7、語句。If語句的嵌套語句格式如下: If Then If Then End If End If例如只有當n=3并且x=6時顯示“n=3 & x=6”。 If n = 3 Then MessageBox.Show(n=3) If x = 6 Then MessageBox.Show(x=6 & n=3) End If End If If語句對于嵌套的多少是沒有限制的。但是嵌套的層數(shù)越多,代碼執(zhí)行起來就會越困難,越容易出錯。所以,應盡量把嵌套層數(shù)減少。 牛牛文庫文檔分享例:在兩個文本框中任意輸入兩個數(shù)字,按下Max按鈕后將較大的一個顯示在第三個文本框中。創(chuàng)建新的工程起名為Biger,在窗體上放置3

8、個TextBox控件和一個按鈕,清除3個TextBox控件的Text屬性,將3個TextBox控件的name屬性分別設置為TxtOp1,TxtOp2,TxtBiger;將TxtBiger的ReadOnly屬性設置為True;按鈕的name屬性為BtnBiger,Text的name屬性為Max。采用快速添加事件代碼的方法,雙擊按鈕添加代碼如下:Private Sub BtnBiger_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles BtnBiger.Click Dim dblOp1 As Dou

9、ble Dim dblOp2 As Double dblOp1 = TxtOp1.Text dblOp2 = TxtOp2.Text If dblOp1 = dblOp2 Then TxtBiger.Text = dblOp1 Else TxtBiger.Text = dblOp2 End IfEnd Sub 牛牛文庫文檔分享4.1.5 Select Case語句(情況語句)Select Case語句是實現(xiàn)選擇結構程序設計的另一種語句。它的使用有時比If語句更加簡單直觀。Select Case語句的格式如下:Select Case 變量名或表達式 Case 表達式列表1語句塊1Case 表達式

10、列表2語句塊2Case Else 語句塊n+1End Select 牛牛文庫文檔分享其中變量名或表達式可以是所有基本數(shù)據(jù)類型;表達式列表與“變量名或表達式”的類型必須相同,可以取下面四種形式:表達式一組枚舉表達式(用逗號分隔)表達式值的范圍(如:表達式1 To 表達式2)Is 關系運算符表達式例如: Case 1 To 8 表示測試表達式的值在1到8之間 Case 1,.3,5,7,Is11 表示測試表達式的值為1,3,5,7或大于11該語句的作用是根據(jù)中的結果與各Case子句中的表達式的值進行比較,以決定執(zhí)行哪一組語句塊。 牛牛文庫文檔分享在Visual Basic .NET中,可以把所有基

11、本數(shù)據(jù)類型運用到Select Case語句中。當有多個Case表達式的值與測試值匹配時,系統(tǒng)執(zhí)行第一個與之匹配的語句。采用Select Case語句改寫前面IfThenElseIf的例子,如下所示:Select Case CallerCase “Joe”MessageBox.Show( Yes!)Case “Matt”MessageBox.Show(Okay, but if you buy.)Case “Jeff”MessageBox.Show(Im washing my hair tonight.)Case “Robby”MessageBox.Show( This is a recordin

12、g.)End Select比較兩程序段,顯然,使用Select Case語句使代碼變得更加清晰直觀,不再重復出現(xiàn)ElseIf和Then 語句。 牛牛文庫文檔分享4.2 END語句 End語句用于結束一個程序的運行,它可以放在任何事件過程中。End語句格式如下: End 以上在順序結構、選擇結構的代碼中,都用到End與對應結構的關鍵詞復合的語句。其實,以后介紹的情況語句、循環(huán)結構、子程序、過程等等的程序代碼中,也必須以End與關鍵詞復合語句結尾。這是Visual Basic代碼編寫時的規(guī)則,即作為一個完整的結構(順序、選擇(情況)、循環(huán))、子程序、程序塊,最后一個語句必須用End的關鍵詞復合語句

13、,以示該程序到此結束。否則,系統(tǒng)將會提示出錯信息。例如End If、End Select、End Sub、End With等等。 牛牛文庫文檔分享4.3 ListBox、CheckedListBox、ComboBox控件 ListBox(列表框)、CheckedListBox(復選列表框)和ComboBox(組合列表框),向用戶提供選項。它們均可顯示多個選項,而且比多個單選按鈕或檢查框占據(jù)的空間要少一些。 牛牛文庫文檔分享4.3.1 ListBox控件 ListBox控件用來顯示選項列表,用戶可從中進行選擇一項或選擇多項的操作。在窗體創(chuàng)建一個列表框時,單擊ListBox小圖標。鼠標箭頭變?yōu)槭?/p>

14、形狀,將鼠標移至窗體上適當位置,按住鼠標左鍵,拖動鼠標繪制列表框。 右圖為添加了選項的ListBox。 牛牛文庫文檔分享 ListBox的屬性 在設計的時候為ListBox添加選項,可以使用屬性窗口中的Items屬性(位于Data類別中)。打開ListBox的屬性窗口,單擊Items屬性項右邊的帶有三個小黑點的按鈕。Visual Studio .NET將打開一個字符串集合編輯器。將相應的選項內(nèi)容輸入到字符串集合編輯器中。.每輸入一個選項后,按回車鍵換行。全部選項輸入完畢后,單擊OK按鈕結束,如圖4-3所示的ListBox。如果項總數(shù)超出可以顯示的項數(shù),則自動向 ListBox 控件添加滾動條。

15、 常用屬性:SelectionMode屬性。SelectedIndex屬性。 SelectedItem屬性獲取或設置 ListBox 中的當前選定項。 SelectedIndices 屬性,獲取一個集合 。SelectedItems 屬性,對于多重選擇 ListBox,此屬性返回一個集合。Sorted屬性,該屬性決定列表框中的項目在程序運行期間是否按字母順序排列顯示。 Text屬性,該屬性值是被選中的列表項的內(nèi)容 。 牛牛文庫文檔分享 程序運行時改變ListBox項 ListBox的Item屬性本身是一個集合對象,可以利用Item的方法在程序運行期間給ListBox添加新的項目或刪除某一項。用

16、Add方法在ListBox后添加一項: ListBoxName.Item.Add(“新的表項”)要將某一項插入到指定位置,可以使用Insert方法:ListBoxName.Item.Insert(n, “新的表項”)其中n表示要插入的位置。需要刪除一項時,可以使用Remove方法:ListBoxName.Item.RemoveAt(n)ListBoxName.Item.Remove(“要刪除的項”)使用項目的索引值,用RemoveAt 方法;用Remove方法通過刪除項目本身的值來刪除它。還可以使用Clear方法一次將所有項全部刪除。 牛牛文庫文檔分享 右邊是一個關于ListBox的完整的例子

17、。在ListBox中選中一項,可以通過單擊刪除按鈕將它刪去;也可以在TextBox中輸入新項,單擊加入按鈕將此項添加到ListBox中。 3個按鈕的Name屬性分別為BtnAdd、BtnRemove和BtnExit。ListBox的Name屬性為LstboxCourse。TextBox的Name屬性為TxtNew。 在程序的設計階段,已經(jīng)使用Item的字符串集合編輯器添加了一些項。 牛牛文庫文檔分享下面分別為3個按鈕添加Click事件處理代碼如下:Private Sub BtnAdd_Click(ByVal sender As System.Object, _ByVal e As System

18、.EventArgs) Handles BtnAdd.Click If TxtNew.Text Then LstboxCourse.Items.Add(TxtNew.Text) End IfEnd SubPrivate Sub BtnRemove_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles BtnRemove.Click If LstboxCourse.SelectedIndex = 0 Then LstboxCourse.Items.RemoveAt(LstboxCourse.Selec

19、tedIndex) End IfEnd SubPrivate Sub BtnExit_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles BtnExit.Click EndEnd Sub程序運行結果如下,刪除了一些項,添加了3項 牛牛文庫文檔分享4.3.2 CheckedListBox CheckedListBox(復選列表框)的使用在本質(zhì)上與ListBox是一樣的,只是選項在列表中顯示的樣式稍有不同,即在每個選項前有一個方框,當要選該項時,單擊前面的方框即可。 CheckedListBox控件

20、牛牛文庫文檔分享 可以看到,在每一項的前面有一個方框。方框里面有對號的表示已經(jīng)選中的項。另外還有一項有一個藍色的條(上圖是馬克思主義哲學項)表示目前突出顯示的項。 需要注意:屬性SelectedItems 和 SelectedIndices 并不確定哪些項已選中,它們確定哪些項為突出顯示的項。如果要確定那些項被選中,則需要對每一項分別調(diào)用方法GetItemChecked,若調(diào)用結果為True,表示被選中;反之,則未被選中。調(diào)用時,采用索引號指定某一項。若有: CheckListBoxName. GetItemChecked(0) CheckListBoxName. GetItemChecked

21、(1) 則由于第一項被選中所以第一個式子的結果為True;而第二項未被選中,因此結果為False。CheeckedListBox控件的添加項、刪除項等的方法與ListBox是一樣的。 牛牛文庫文檔分享4.3.3組合框(ComboBox)的使用 ComboBox (組合框)控件結合了文本框和列表框二者的特點。ComboBox 控件用于在下拉組合框中顯示數(shù)據(jù)。 默認情況下,ComboBox 控件分兩個部分顯示:頂部是一個允許用戶鍵入列表項的文本框。第二個部分是列表框,它顯示用戶可以從中進行選擇的項的列表。 與ListBox控件一樣,可以在Items屬性中輸入選項。程序運行后可以單擊ComboBox

22、控件的下拉箭頭看到供選擇的項。 默認狀態(tài)下的ComboBox控件 程序運行時通過單擊下拉箭頭來選擇需要的項 牛牛文庫文檔分享 可以通過設置DropDownStyle屬性使得CheckedListBox控件有3種不同的外觀和運行方式,3種方式分別是DropDown 、Simple和DropDownList如右圖所示: 其他方面,和ListBox控件的用法基本相同。 ComboBox的3種模式DropDown模式 DropDownList模式 Simple模式 牛牛文庫文檔分享4.3.4 一個綜合的例子 下面是一個查看課程的例子。用戶首先通過一個Combox控件選擇專業(yè),一旦用戶選擇完畢,該專業(yè)的

23、課程將出現(xiàn)在ListBox中。隨后在ListBox中選擇一個課程,單擊課程詳細信息按鈕,顯示一個MessageBox對話框。對話框中顯示有任課教師姓名和課時數(shù)的信息。 創(chuàng)建該程序:新建一個項目取名為CourseSelect,在窗體上放置一個ComboBox控件、一個ListBox控件和一個按鈕控件。分別設置他們的屬性 。 牛牛文庫文檔分享在框架中添加代碼如下:Private Sub CmboxSkill_SelectedIndexChanged(ByVal sender As Object, _ByVal e As System.EventArgs) Handles CmboxSkill.Se

24、lectedIndexChanged LstboxCourse.Items.Clear() Select Case CmboxSkill.SelectedIndex Case 0 LstboxCourse.Items.Add(離散數(shù)學) LstboxCourse.Items.Add(數(shù)據(jù)結構) LstboxCourse.Items.Add(編譯原理) Case 1 LstboxCourse.Items.Add(電力系統(tǒng)) LstboxCourse.Items.Add(高電壓技術) LstboxCourse.Items.Add(繼電保護) Case 2 LstboxCourse.Items.Ad

25、d(排隊論) LstboxCourse.Items.Add(管理信息系統(tǒng)) Case 3 LstboxCourse.Items.Add(會計學) LstboxCourse.Items.Add(國際金融) End SelectEnd Sub 牛牛文庫文檔分享為Button控件的Click事件編寫如下代碼:Private Sub BtnDetail_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles BtnDetail.Click If LstboxCourse.SelectedIndex = 0 T

26、hen Select Case CmboxSkill.SelectedIndex Case 0 If LstboxCourse.SelectedIndex = 0 Then MessageBox.Show(任課教師:陳明;課時數(shù):64) ElseIf LstboxCourse.SelectedIndex = 1 Then MessageBox.Show(任課教師:王虎;課時數(shù):64) Else MessageBox.Show(任課教師:李博;課時數(shù):72) End If Case 1 If LstboxCourse.SelectedIndex = 0 Then MessageBox.Show(任課教師:李延;課時數(shù):48) ElseIf LstboxCourse.SelectedIndex = 1 Then MessageBox.Show(任課教師:張訊;課時數(shù):64) Else MessageBox.Show(任課教師:錢云;課時數(shù):72) End If Case 2 If LstboxCourse.SelectedIndex = 0 Then MessageBox.Sh

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論