選擇結構-西安交通大學_第1頁
選擇結構-西安交通大學_第2頁
選擇結構-西安交通大學_第3頁
選擇結構-西安交通大學_第4頁
選擇結構-西安交通大學_第5頁
已閱讀5頁,還剩28頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

選擇結構

編輯ppt教學目標掌握IF…THEN…Else語句熟悉組合框、列表框、檢查列表框(CheckedListBox)掌握SelectCase語句編輯ppt4.1If語句4.1.1If…Then語句

If-Then語句用來當條件滿足時執行某些語句,反之則不執行。If-Then語句的格式如下:

If<條件表達式>Then

語句塊EndIf

If-Then語句亦稱為單分支結構。其中條件表達式的值為Boolean型,用<>將條件表達式括起來表示它在IF語句中是必須具有的一項,即IF語句中的條件表達式不可缺少。編輯ppt例如,對輸入的數值進行判斷。輸入大于25的數值時,在MessageBox內顯示“大于25”。否則將不顯示任何信息。

IfintNumber>25ThenMessageBox.Show("大于25")EndIf編輯ppt4.1.2If…Then…Else語句

當條件表達式的值為True時,程序執行一些語句,其值為False時,程序執行另一些語句,此時可以使用If-Then-Else語句。If-Then-Else語句的格式如下:

If<條件表達式>Then<語句塊1>Else<語句塊2>EndIf

該語句的作用是當條件表達式的值為True時,程序執行語句塊1,當條件表達式的值為False時,程序將執行語句塊2。編輯ppt例如對intSex變量進行判斷,為0時是男性;否則是女性:

IfintSex=0Then MessageBox.Show(“Youareaman!”) Else MessageBox.Show(“Youareawoman!”) EndIf編輯ppt創建一新的項目,對輸入的數值進行判斷。在其中的一個TextBox中輸入數值,如果輸入的數據為7的整倍數,在另一個TextBox文本框內顯示“是7的倍數”,反之則顯示“不能被7整除”。在窗體上放置2個TextBox控件,分別用來接受輸入和顯示結果,Name屬性分別為TxtInput和TxtResult。再添加一個按鈕,并為這個按鈕的Click事件編寫如下代碼:PrivateSubBtnGo_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnGo.Click

DimlngInAsLonglngIn=Convert.ToInt64(TxtInput.Text)

IflngInMod7=0ThenTxtResult.Text="是7的倍數"

ElseTxtResult.Text="不能被7整除"

EndIf

EndSub 程序中使用了顯示的轉換Convert.ToInt64,當然也可以直接賦值,由VisualBasic作隱式轉換。編輯ppt4.1.3If…Then…ElseIf語句

分支超過2個的情況,此時可以在If…Then…EndIf結構中使用ElseIf語句,格式如下:

If<條件表達式1>Then<語句塊1>ElseIf<條件表達式2>Then<語句塊2>…[Else

[語句塊n+1]EndIf

該語句的作用是根據不同的條件表達式的值確定執行哪個語句塊,VisualBasic測試條件的順序為條件表達式1、條件表達式2、……,每當遇到某個條件表達式值為True時,就執行該條件下的語句塊。編輯ppt例如在下面一段代碼中根據Caller的值不同而執行不同的語句。

IfCaller="Joe"ThenMessageBox.Show("Yes!")ElseIfCaller="Matt"ThenMessageBox.Show("Okay,butifyoubuy.")ElseIfCaller="Jeff"ThenMessageBox.Show("I’mwashingmyhairtonight.")ElseIfCaller="Robby"ThenMessageBox.Show("Thisisarecording.")EndIf注意:

1.的是不管程序有幾個分支,在執行了一個分支后,其余分支不再執行。2.ElseIf不要寫成ElseIf。編輯ppt4.1.4嵌套If…Then語句

If語句可以嵌套,既可在If語句當中可以包含另外一個If語句。If語句的嵌套語句格式如下:

If<條件表達式1>ThenIf<條件表達式2>Then…EndIf…EndIf

例如只有當n=3并且x=6時顯示“n=3&x=6”。

Ifn=3ThenMessageBox.Show("n=3")Ifx=6ThenMessageBox.Show("x=6&n=3")EndIfEndIf

If語句對于嵌套的多少是沒有限制的。但是嵌套的層數越多,代碼執行起來就會越困難,越容易出錯。所以,應盡量把嵌套層數減少。編輯ppt例:在兩個文本框中任意輸入兩個數字,按下Max按鈕后將較大的一個顯示在第三個文本框中。創建新的工程起名為Biger,在窗體上放置3個TextBox控件和一個按鈕,清除3個TextBox控件的Text屬性,將3個TextBox控件的name屬性分別設置為TxtOp1,TxtOp2,TxtBiger;將TxtBiger的ReadOnly屬性設置為True;按鈕的name屬性為BtnBiger,Text的name屬性為Max。采用快速添加事件代碼的方法,雙擊按鈕添加代碼如下:

PrivateSubBtnBiger_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnBiger.ClickDimdblOp1AsDoubleDimdblOp2AsDouble

dblOp1=TxtOp1.TextdblOp2=TxtOp2.Text

IfdblOp1>=dblOp2ThenTxtBiger.Text=dblOp1ElseTxtBiger.Text=dblOp2EndIf

EndSub編輯ppt4.1.5SelectCase語句(情況語句)SelectCase語句是實現選擇結構程序設計的另一種語句。它的使用有時比If語句更加簡單直觀。SelectCase語句的格式如下:SelectCase變量名或表達式

Case表達式列表1

語句塊1 [Case表達式列表2

語句塊2 …] [CaseElse

語句塊n+1]EndSelect編輯ppt其中變量名或表達式可以是所有基本數據類型;表達式列表與“變量名或表達式”的類型必須相同,可以取下面四種形式:表達式一組枚舉表達式(用逗號分隔)表達式值的范圍(如:表達式1To表達式2)Is關系運算符表達式例如:

Case1To8‘表示測試表達式的值在1到8之間

Case1,.3,5,7,Is>11‘表示測試表達式的值為1,3,5,7或大于11該語句的作用是根據<變量名與表達式>中的結果與各Case子句中的表達式的值進行比較,以決定執行哪一組語句塊。編輯ppt在VisualBasic.NET中,可以把所有基本數據類型運用到SelectCase語句中。當有多個Case表達式的值與測試值匹配時,系統執行第一個與之匹配的語句。采用SelectCase語句改寫前面If…Then…ElseIf的例子,如下所示:SelectCaseCallerCase“Joe”MessageBox.Show("Yes!")Case“Matt”MessageBox.Show("Okay,butifyoubuy.")Case“Jeff”MessageBox.Show("I’mwashingmyhairtonight.")Case“Robby”MessageBox.Show("Thisisarecording.")EndSelect比較兩程序段,顯然,使用SelectCase語句使代碼變得更加清晰直觀,不再重復出現ElseIf和Then語句。編輯ppt4.2END語句End語句用于結束一個程序的運行,它可以放在任何事件過程中。End語句格式如下:End以上在順序結構、選擇結構的代碼中,都用到End與對應結構的關鍵詞復合的語句。其實,以后介紹的情況語句、循環結構、子程序、過程等等的程序代碼中,也必須以End與關鍵詞復合語句結尾。這是VisualBasic代碼編寫時的規則,即作為一個完整的結構(順序、選擇(情況)、循環)、子程序、程序塊,最后一個語句必須用End的關鍵詞復合語句,以示該程序到此結束。否則,系統將會提示出錯信息。例如EndIf、EndSelect、EndSub、EndWith等等。編輯ppt4.3ListBox、CheckedListBox、ComboBox控件ListBox(列表框)、CheckedListBox(復選列表框)和ComboBox(組合列表框),向用戶提供選項。它們均可顯示多個選項,而且比多個單選按鈕或檢查框占據的空間要少一些。編輯ppt4.3.1ListBox控件ListBox控件用來顯示選項列表,用戶可從中進行選擇一項或選擇多項的操作。在窗體創建一個列表框時,單擊ListBox小圖標。鼠標箭頭變為十字形狀,將鼠標移至窗體上適當位置,按住鼠標左鍵,拖動鼠標繪制列表框。右圖為添加了選項的ListBox。編輯pptListBox的屬性在設計的時候為ListBox添加選項,可以使用屬性窗口中的Items屬性(位于Data類別中)。打開ListBox的屬性窗口,單擊Items屬性項右邊的帶有三個小黑點的按鈕。VisualStudio.NET將打開一個字符串集合編輯器。將相應的選項內容輸入到字符串集合編輯器中。.每輸入一個選項后,按回車鍵換行。全部選項輸入完畢后,單擊OK按鈕結束,如圖4-3所示的ListBox。如果項總數超出可以顯示的項數,則自動向ListBox控件添加滾動條。

常用屬性:SelectionMode屬性。SelectedIndex屬性。SelectedItem屬性獲取或設置ListBox中的當前選定項。SelectedIndices屬性,獲取一個集合。SelectedItems屬性,對于多重選擇ListBox,此屬性返回一個集合。Sorted屬性,該屬性決定列表框中的項目在程序運行期間是否按字母順序排列顯示。Text屬性,該屬性值是被選中的列表項的內容。編輯ppt程序運行時改變ListBox項

ListBox的Item屬性本身是一個集合對象,可以利用Item的方法在程序運行期間給ListBox添加新的項目或刪除某一項。用Add方法在ListBox后添加一項:

ListBoxName.Item.Add(“新的表項”)要將某一項插入到指定位置,可以使用Insert方法:

ListBoxName.Item.Insert(n,“新的表項”)其中n表示要插入的位置。需要刪除一項時,可以使用Remove方法:

ListBoxName.Item.RemoveAt(n)

ListBoxName.Item.Remove(“要刪除的項”)使用項目的索引值,用RemoveAt方法;用Remove方法通過刪除項目本身的值來刪除它。還可以使用Clear方法一次將所有項全部刪除。編輯ppt右邊是一個關于ListBox的完整的例子。在ListBox中選中一項,可以通過單擊刪除按鈕將它刪去;也可以在TextBox中輸入新項,單擊加入按鈕將此項添加到ListBox中。3個按鈕的Name屬性分別為BtnAdd、BtnRemove和BtnExit。ListBox的Name屬性為LstboxCourse。TextBox的Name屬性為TxtNew。在程序的設計階段,已經使用Item的字符串集合編輯器添加了一些項。

編輯ppt下面分別為3個按鈕添加Click事件處理代碼如下:PrivateSubBtnAdd_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnAdd.Click

IfTxtNew.Text<>""Then

LstboxCourse.Items.Add(TxtNew.Text)

EndIfEndSubPrivateSubBtnRemove_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnRemove.Click

IfLstboxCourse.SelectedIndex>=0Then

LstboxCourse.Items.RemoveAt(LstboxCourse.SelectedIndex)

EndIfEndSubPrivateSubBtnExit_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnExit.Click

EndEndSub程序運行結果如下,刪除了一些項,添加了3項編輯ppt4.3.2CheckedListBoxCheckedListBox(復選列表框)的使用在本質上與ListBox是一樣的,只是選項在列表中顯示的樣式稍有不同,即在每個選項前有一個方框,當要選該項時,單擊前面的方框即可。

CheckedListBox控件編輯ppt可以看到,在每一項的前面有一個方框。方框里面有對號的表示已經選中的項。另外還有一項有一個藍色的條(上圖是馬克思主義哲學項)表示目前突出顯示的項。需要注意:屬性SelectedItems和SelectedIndices并不確定哪些項已選中,它們確定哪些項為突出顯示的項。如果要確定那些項被選中,則需要對每一項分別調用方法GetItemChecked,若調用結果為True,表示被選中;反之,則未被選中。調用時,采用索引號指定某一項。若有:CheckListBoxName.GetItemChecked(0)CheckListBoxName.GetItemChecked(1)則由于第一項被選中所以第一個式子的結果為True;而第二項未被選中,因此結果為False。CheeckedListBox控件的添加項、刪除項等的方法與ListBox是一樣的。編輯ppt4.3.3組合框(ComboBox)的使用

ComboBox(組合框)控件結合了文本框和列表框二者的特點。ComboBox控件用于在下拉組合框中顯示數據。默認情況下,ComboBox控件分兩個部分顯示:頂部是一個允許用戶鍵入列表項的文本框。第二個部分是列表框,它顯示用戶可以從中進行選擇的項的列表。

與ListBox控件一樣,可以在Items屬性中輸入選項。程序運行后可以單擊ComboBox控件的下拉箭頭看到供選擇的項。默認狀態下的ComboBox控件程序運行時通過單擊下拉箭頭來選擇需要的項編輯ppt可以通過設置DropDownStyle屬性使得CheckedListBox控件有3種不同的外觀和運行方式,3種方式分別是DropDown、Simple和DropDownList如右圖所示:其他方面,和ListBox控件的用法基本相同。

ComboBox的3種模式DropDown模式DropDownList模式Simple模式編輯ppt4.3.4一個綜合的例子 下面是一個查看課程的例子。用戶首先通過一個Combox控件選擇專業,一旦用戶選擇完畢,該專業的課程將出現在ListBox中。隨后在ListBox中選擇一個課程,單擊課程詳細信息按鈕,顯示一個MessageBox對話框。對話框中顯示有任課教師姓名和課時數的信息。創建該程序:新建一個項目取名為CourseSelect,在窗體上放置一個ComboBox控件、一個ListBox控件和一個按鈕控件。分別設置他們的屬性。編輯ppt在框架中添加代碼如下:PrivateSubCmboxSkill_SelectedIndexChanged(ByValsenderAsObject,_ByValeAsSystem.EventArgs)HandlesCmboxSkill.SelectedIndexChanged

LstboxCourse.Items.Clear()

SelectCaseCmboxSkill.SelectedIndex

Case0

LstboxCourse.Items.Add("離散數學")

LstboxCourse.Items.Add("數據結構")

LstboxCourse.Items.Add("編譯原理")

Case1

LstboxCourse.Items.Add("電力系統")

LstboxCourse.Items.Add("高電壓技術")

LstboxCourse.Items.Add("繼電保護")

Case2

LstboxCourse.Items.Add("排隊論")

LstboxCourse.Items.Add("管理信息系統")

Case3

LstboxCourse.Items.Add("會計學")

LstboxCourse.Items.Add("國際金融")

EndSelectEndSub

編輯ppt為Button控件的Click事件編寫如下代碼:PrivateSubBtnDetail_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnDetail.Click

IfLstboxCourse.SelectedIndex>=0Then

SelectCaseCmboxSkill.SelectedIndex

Case0

IfLstboxCourse.SelectedIndex=0Then

MessageBox.Show("任課教師:陳明;課時數:64")

ElseIfLstboxCourse.SelectedIndex=1Then

MessageBox.Show("任課教師:王虎;課時數:64")

Else

MessageBox.Show("任課教師:李博;課時數:72")

EndIf

Case1

IfLstboxCourse.SelectedIndex=0Then

MessageBox.Show("任課教師:李延;課時數:48")

ElseIfLstboxCourse.SelectedIndex=1Then

MessageBox.Show("任課教師:張訊;課時數:64")

Else

MessageBox.Show("任課教師:錢云;課時數:72")

EndIf

Case2

IfLstboxCourse.SelectedIndex

溫馨提示

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

評論

0/150

提交評論