




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、教學(xué)目標(biāo)掌握IFTHENElse語句熟悉組合框、列表框、檢查列表框(CheckedListBox)掌握Select Case語句 牛牛文庫文檔分享4.1 If語句4.1.1 IfThen語句 If-Then語句用來當(dāng)條件滿足時(shí)執(zhí)行某些語句,反之則不執(zhí)行。If-Then語句的格式如下: If Then 語句塊 End If If-Then語句亦稱為單分支結(jié)構(gòu)。其中條件表達(dá)式的值為Boolean型,用將條件表達(dá)式括起來表示它在IF語句中是必須具有的一項(xiàng),即IF語句中的條件表達(dá)式不可缺少。 牛牛文庫文檔分享 例如,對(duì)輸入的數(shù)值進(jìn)行判斷。輸入大于25的數(shù)值時(shí),在MessageBox內(nèi)顯示“大于25”。
2、否則將不顯示任何信息。 If intNumber 25 Then MessageBox.Show( 大于25) End If 牛牛文庫文檔分享4.1.2 IfThenElse語句 當(dāng)條件表達(dá)式的值為True時(shí),程序執(zhí)行一些語句,其值為False時(shí),程序執(zhí)行另一些語句,此時(shí)可以使用If-Then-Else語句。If-Then-Else語句的格式如下: If Then Else End If 該語句的作用是當(dāng)條件表達(dá)式的值為True時(shí),程序執(zhí)行語句塊1,當(dāng)條件表達(dá)式的值為False時(shí),程序?qū)?zhí)行語句塊2。 牛牛文庫文檔分享例如對(duì)intSex變量進(jìn)行判斷,為0時(shí)是男性;否則是女性:If intSex
3、=0 ThenMessageBox.Show(“You are a man!”)ElseMessageBox.Show(“You are a woman!”)End If 牛牛文庫文檔分享 創(chuàng)建一新的項(xiàng)目,對(duì)輸入的數(shù)值進(jìn)行判斷。在其中的一個(gè)TextBox中輸入數(shù)值,如果輸入的數(shù)據(jù)為7的整倍數(shù),在另一個(gè)TextBox文本框內(nèi)顯示“是7的倍數(shù)”,反之則顯示“不能被7整除”。在窗體上放置2個(gè)TextBox控件,分別用來接受輸入和顯示結(jié)果,Name屬性分別為TxtInput和TxtResult。再添加一個(gè)按鈕,并為這個(gè)按鈕的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,當(dāng)然也可以直接賦值,由Visual Basic作隱式轉(zhuǎn)換。 牛牛文庫文檔分享4.1.3 I
5、fThenElseIf語句 分支超過2個(gè)的情況,此時(shí)可以在IfThenEnd If結(jié)構(gòu)中使用ElseIf 語句,格式如下: If Then ElseIf Then Else 語句塊n+1 End If 該語句的作用是根據(jù)不同的條件表達(dá)式的值確定執(zhí)行哪個(gè)語句塊,Visual Basic測(cè)試條件的順序?yàn)闂l件表達(dá)式1、條件表達(dá)式2、,每當(dāng)遇到某個(gè)條件表達(dá)式值為True時(shí),就執(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.的是不管程序有幾個(gè)分支,在執(zhí)行了一個(gè)分支后,其余 分支不再執(zhí)行。2.ElseIf不要寫成Else If。 牛牛文庫文檔分享4.1.4嵌套IfThen語句 If語句可以嵌套,既可在If語句當(dāng)中可以包含另外一個(gè)If
7、語句。If語句的嵌套語句格式如下: If Then If Then End If End If例如只有當(dāng)n=3并且x=6時(shí)顯示“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語句對(duì)于嵌套的多少是沒有限制的。但是嵌套的層數(shù)越多,代碼執(zhí)行起來就會(huì)越困難,越容易出錯(cuò)。所以,應(yīng)盡量把嵌套層數(shù)減少。 牛牛文庫文檔分享例:在兩個(gè)文本框中任意輸入兩個(gè)數(shù)字,按下Max按鈕后將較大的一個(gè)顯示在第三個(gè)文本框中。創(chuàng)建新的工程起名為Biger,在窗體上放置3
8、個(gè)TextBox控件和一個(gè)按鈕,清除3個(gè)TextBox控件的Text屬性,將3個(gè)TextBox控件的name屬性分別設(shè)置為TxtOp1,TxtOp2,TxtBiger;將TxtBiger的ReadOnly屬性設(shè)置為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語句是實(shí)現(xiàn)選擇結(jié)構(gòu)程序設(shè)計(jì)的另一種語句。它的使用有時(shí)比If語句更加簡(jiǎn)單直觀。Select Case語句的格式如下:Select Case 變量名或表達(dá)式 Case 表達(dá)式列表1語句塊1Case 表達(dá)式
10、列表2語句塊2Case Else 語句塊n+1End Select 牛牛文庫文檔分享其中變量名或表達(dá)式可以是所有基本數(shù)據(jù)類型;表達(dá)式列表與“變量名或表達(dá)式”的類型必須相同,可以取下面四種形式:表達(dá)式一組枚舉表達(dá)式(用逗號(hào)分隔)表達(dá)式值的范圍(如:表達(dá)式1 To 表達(dá)式2)Is 關(guān)系運(yùn)算符表達(dá)式例如: Case 1 To 8 表示測(cè)試表達(dá)式的值在1到8之間 Case 1,.3,5,7,Is11 表示測(cè)試表達(dá)式的值為1,3,5,7或大于11該語句的作用是根據(jù)中的結(jié)果與各Case子句中的表達(dá)式的值進(jìn)行比較,以決定執(zhí)行哪一組語句塊。 牛牛文庫文檔分享在Visual Basic .NET中,可以把所有基
11、本數(shù)據(jù)類型運(yùn)用到Select Case語句中。當(dāng)有多個(gè)Case表達(dá)式的值與測(cè)試值匹配時(shí),系統(tǒng)執(zhí)行第一個(gè)與之匹配的語句。采用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語句使代碼變得更加清晰直觀,不再重復(fù)出現(xiàn)ElseIf和Then 語句。 牛牛文庫文檔分享4.2 END語句 End語句用于結(jié)束一個(gè)程序的運(yùn)行,它可以放在任何事件過程中。End語句格式如下: End 以上在順序結(jié)構(gòu)、選擇結(jié)構(gòu)的代碼中,都用到End與對(duì)應(yīng)結(jié)構(gòu)的關(guān)鍵詞復(fù)合的語句。其實(shí),以后介紹的情況語句、循環(huán)結(jié)構(gòu)、子程序、過程等等的程序代碼中,也必須以End與關(guān)鍵詞復(fù)合語句結(jié)尾。這是Visual Basic代碼編寫時(shí)的規(guī)則,即作為一個(gè)完整的結(jié)構(gòu)(順序、選擇(情況)、循環(huán))、子程序、程序塊,最后一個(gè)語句必須用End的關(guān)鍵詞復(fù)合語句
13、,以示該程序到此結(jié)束。否則,系統(tǒng)將會(huì)提示出錯(cuò)信息。例如End If、End Select、End Sub、End With等等。 牛牛文庫文檔分享4.3 ListBox、CheckedListBox、ComboBox控件 ListBox(列表框)、CheckedListBox(復(fù)選列表框)和ComboBox(組合列表框),向用戶提供選項(xiàng)。它們均可顯示多個(gè)選項(xiàng),而且比多個(gè)單選按鈕或檢查框占據(jù)的空間要少一些。 牛牛文庫文檔分享4.3.1 ListBox控件 ListBox控件用來顯示選項(xiàng)列表,用戶可從中進(jìn)行選擇一項(xiàng)或選擇多項(xiàng)的操作。在窗體創(chuàng)建一個(gè)列表框時(shí),單擊ListBox小圖標(biāo)。鼠標(biāo)箭頭變?yōu)槭?/p>
14、形狀,將鼠標(biāo)移至窗體上適當(dāng)位置,按住鼠標(biāo)左鍵,拖動(dòng)鼠標(biāo)繪制列表框。 右圖為添加了選項(xiàng)的ListBox。 牛牛文庫文檔分享 ListBox的屬性 在設(shè)計(jì)的時(shí)候?yàn)長(zhǎng)istBox添加選項(xiàng),可以使用屬性窗口中的Items屬性(位于Data類別中)。打開ListBox的屬性窗口,單擊Items屬性項(xiàng)右邊的帶有三個(gè)小黑點(diǎn)的按鈕。Visual Studio .NET將打開一個(gè)字符串集合編輯器。將相應(yīng)的選項(xiàng)內(nèi)容輸入到字符串集合編輯器中。.每輸入一個(gè)選項(xiàng)后,按回車鍵換行。全部選項(xiàng)輸入完畢后,單擊OK按鈕結(jié)束,如圖4-3所示的ListBox。如果項(xiàng)總數(shù)超出可以顯示的項(xiàng)數(shù),則自動(dòng)向 ListBox 控件添加滾動(dòng)條。
15、 常用屬性:SelectionMode屬性。SelectedIndex屬性。 SelectedItem屬性獲取或設(shè)置 ListBox 中的當(dāng)前選定項(xiàng)。 SelectedIndices 屬性,獲取一個(gè)集合 。SelectedItems 屬性,對(duì)于多重選擇 ListBox,此屬性返回一個(gè)集合。Sorted屬性,該屬性決定列表框中的項(xiàng)目在程序運(yùn)行期間是否按字母順序排列顯示。 Text屬性,該屬性值是被選中的列表項(xiàng)的內(nèi)容 。 牛牛文庫文檔分享 程序運(yùn)行時(shí)改變ListBox項(xiàng) ListBox的Item屬性本身是一個(gè)集合對(duì)象,可以利用Item的方法在程序運(yùn)行期間給ListBox添加新的項(xiàng)目或刪除某一項(xiàng)。用
16、Add方法在ListBox后添加一項(xiàng): ListBoxName.Item.Add(“新的表項(xiàng)”)要將某一項(xiàng)插入到指定位置,可以使用Insert方法:ListBoxName.Item.Insert(n, “新的表項(xiàng)”)其中n表示要插入的位置。需要?jiǎng)h除一項(xiàng)時(shí),可以使用Remove方法:ListBoxName.Item.RemoveAt(n)ListBoxName.Item.Remove(“要?jiǎng)h除的項(xiàng)”)使用項(xiàng)目的索引值,用RemoveAt 方法;用Remove方法通過刪除項(xiàng)目本身的值來刪除它。還可以使用Clear方法一次將所有項(xiàng)全部刪除。 牛牛文庫文檔分享 右邊是一個(gè)關(guān)于ListBox的完整的例子
17、。在ListBox中選中一項(xiàng),可以通過單擊刪除按鈕將它刪去;也可以在TextBox中輸入新項(xiàng),單擊加入按鈕將此項(xiàng)添加到ListBox中。 3個(gè)按鈕的Name屬性分別為BtnAdd、BtnRemove和BtnExit。ListBox的Name屬性為L(zhǎng)stboxCourse。TextBox的Name屬性為TxtNew。 在程序的設(shè)計(jì)階段,已經(jīng)使用Item的字符串集合編輯器添加了一些項(xiàng)。 牛牛文庫文檔分享下面分別為3個(gè)按鈕添加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程序運(yùn)行結(jié)果如下,刪除了一些項(xiàng),添加了3項(xiàng) 牛牛文庫文檔分享4.3.2 CheckedListBox CheckedListBox(復(fù)選列表框)的使用在本質(zhì)上與ListBox是一樣的,只是選項(xiàng)在列表中顯示的樣式稍有不同,即在每個(gè)選項(xiàng)前有一個(gè)方框,當(dāng)要選該項(xiàng)時(shí),單擊前面的方框即可。 CheckedListBox控件
20、牛牛文庫文檔分享 可以看到,在每一項(xiàng)的前面有一個(gè)方框。方框里面有對(duì)號(hào)的表示已經(jīng)選中的項(xiàng)。另外還有一項(xiàng)有一個(gè)藍(lán)色的條(上圖是馬克思主義哲學(xué)項(xiàng))表示目前突出顯示的項(xiàng)。 需要注意:屬性SelectedItems 和 SelectedIndices 并不確定哪些項(xiàng)已選中,它們確定哪些項(xiàng)為突出顯示的項(xiàng)。如果要確定那些項(xiàng)被選中,則需要對(duì)每一項(xiàng)分別調(diào)用方法GetItemChecked,若調(diào)用結(jié)果為True,表示被選中;反之,則未被選中。調(diào)用時(shí),采用索引號(hào)指定某一項(xiàng)。若有: CheckListBoxName. GetItemChecked(0) CheckListBoxName. GetItemChecked
21、(1) 則由于第一項(xiàng)被選中所以第一個(gè)式子的結(jié)果為True;而第二項(xiàng)未被選中,因此結(jié)果為False。CheeckedListBox控件的添加項(xiàng)、刪除項(xiàng)等的方法與ListBox是一樣的。 牛牛文庫文檔分享4.3.3組合框(ComboBox)的使用 ComboBox (組合框)控件結(jié)合了文本框和列表框二者的特點(diǎn)。ComboBox 控件用于在下拉組合框中顯示數(shù)據(jù)。 默認(rèn)情況下,ComboBox 控件分兩個(gè)部分顯示:頂部是一個(gè)允許用戶鍵入列表項(xiàng)的文本框。第二個(gè)部分是列表框,它顯示用戶可以從中進(jìn)行選擇的項(xiàng)的列表。 與ListBox控件一樣,可以在Items屬性中輸入選項(xiàng)。程序運(yùn)行后可以單擊ComboBox
22、控件的下拉箭頭看到供選擇的項(xiàng)。 默認(rèn)狀態(tài)下的ComboBox控件 程序運(yùn)行時(shí)通過單擊下拉箭頭來選擇需要的項(xiàng) 牛牛文庫文檔分享 可以通過設(shè)置DropDownStyle屬性使得CheckedListBox控件有3種不同的外觀和運(yùn)行方式,3種方式分別是DropDown 、Simple和DropDownList如右圖所示: 其他方面,和ListBox控件的用法基本相同。 ComboBox的3種模式DropDown模式 DropDownList模式 Simple模式 牛牛文庫文檔分享4.3.4 一個(gè)綜合的例子 下面是一個(gè)查看課程的例子。用戶首先通過一個(gè)Combox控件選擇專業(yè),一旦用戶選擇完畢,該專業(yè)的
23、課程將出現(xiàn)在ListBox中。隨后在ListBox中選擇一個(gè)課程,單擊課程詳細(xì)信息按鈕,顯示一個(gè)MessageBox對(duì)話框。對(duì)話框中顯示有任課教師姓名和課時(shí)數(shù)的信息。 創(chuàng)建該程序:新建一個(gè)項(xiàng)目取名為CourseSelect,在窗體上放置一個(gè)ComboBox控件、一個(gè)ListBox控件和一個(gè)按鈕控件。分別設(shè)置他們的屬性 。 牛牛文庫文檔分享在框架中添加代碼如下: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ù)學(xué)) LstboxCourse.Items.Add(數(shù)據(jù)結(jié)構(gòu)) LstboxCourse.Items.Add(編譯原理) Case 1 LstboxCourse.Items.Add(電力系統(tǒng)) LstboxCourse.Items.Add(高電壓技術(shù)) LstboxCourse.Items.Add(繼電保護(hù)) Case 2 LstboxCourse.Items.Ad
25、d(排隊(duì)論) LstboxCourse.Items.Add(管理信息系統(tǒng)) Case 3 LstboxCourse.Items.Add(會(huì)計(jì)學(xué)) LstboxCourse.Items.Add(國(guó)際金融) 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í)數(shù):64) ElseIf LstboxCourse.SelectedIndex = 1 Then MessageBox.Show(任課教師:王虎;課時(shí)數(shù):64) Else MessageBox.Show(任課教師:李博;課時(shí)數(shù):72) End If Case 1 If LstboxCourse.SelectedIndex = 0 Then MessageBox.Show(任課教師:李延;課時(shí)數(shù):48) ElseIf LstboxCourse.SelectedIndex = 1 Then MessageBox.Show(任課教師:張訊;課時(shí)數(shù):64) Else MessageBox.Show(任課教師:錢云;課時(shí)數(shù):72) End If Case 2 If LstboxCourse.SelectedIndex = 0 Then MessageBox.Sh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備投資計(jì)劃
- 建筑規(guī)劃保安工作計(jì)劃
- 航空領(lǐng)域保安工作的創(chuàng)新計(jì)劃
- 會(huì)計(jì)信息與決策的關(guān)系探討計(jì)劃
- 2025年媒體經(jīng)營(yíng)項(xiàng)目建議書
- 2025年中國(guó)夜游經(jīng)濟(jì)行業(yè)供需態(tài)勢(shì)、競(jìng)爭(zhēng)格局及投資前景分析報(bào)告(智研咨詢)
- 2025年超硬材料項(xiàng)目合作計(jì)劃書
- 2025年特種大型鋁合金型材項(xiàng)目發(fā)展計(jì)劃
- 構(gòu)建直觀易用的用戶操作面板
- 2025年子宮收縮藥項(xiàng)目發(fā)展計(jì)劃
- 儒釋道文化秒解
- 新時(shí)代中小學(xué)教師職業(yè)行為十項(xiàng)準(zhǔn)則
- 人教版八年級(jí)上冊(cè)英語1-4單元測(cè)試卷(含答案)
- 初中數(shù)學(xué)教學(xué)經(jīng)驗(yàn)分享
- 2024年銀行考試-興業(yè)銀行考試近5年真題附答案
- 高考數(shù)學(xué)導(dǎo)數(shù)知識(shí)題型全歸納專題11導(dǎo)數(shù)壓軸題之隱零點(diǎn)問題(原卷版+解析)
- 2024年公開招聘人員報(bào)名資格審查表
- 【課件】2024高考英語新課標(biāo)讀后續(xù)寫說題課件
- 2024年中國(guó)油缸用導(dǎo)向環(huán)市場(chǎng)調(diào)查研究報(bào)告
- 長(zhǎng)螺旋鉆孔壓灌樁工程勞務(wù)清包合同(范本)
- 2023-2024學(xué)年江蘇鳳凰教育出版社八年級(jí)勞動(dòng)技術(shù) 栽培水稻 教案
評(píng)論
0/150
提交評(píng)論