【正文】
3 ) / 2 (2)3 ^ 2 + 8(3)abc + def (4)ZYX amp。變量有(1)、(5)。一個(gè)對(duì)象建立以后,其操作就通過(guò)與該對(duì)象有關(guān)的屬性、事件和方法來(lái)描述。 圖1 標(biāo)簽文本顯示習(xí)題21.什么是對(duì)象的屬性、方法、事件?它們有何區(qū)別。在窗體上添加1個(gè)標(biāo)簽對(duì)象。5.上機(jī)練習(xí)。1) 應(yīng)用程序分析;2) 創(chuàng)建應(yīng)用程序用戶界面;3) 設(shè)置用戶界面對(duì)象的屬性;4) 編寫(xiě)代碼實(shí)現(xiàn)程序的功能;5) 測(cè)試和調(diào)試應(yīng)用程序;6) 生成可執(zhí)行并保存文件;7) 創(chuàng)建應(yīng)用程序的安裝程序。.NET Framework組件滿足這些一般要求,另外還提供諸如控制外部資源和設(shè)計(jì)時(shí)支持等功能??梢栽谠O(shè)計(jì)器中操作控件,也可以編寫(xiě)代碼以便在運(yùn)行時(shí)動(dòng)態(tài)操作控件。(5)屬性窗口“屬性”窗口包含選定對(duì)象(窗體或控件)的屬性列表。在系統(tǒng)默認(rèn)情況下,系統(tǒng)會(huì)自動(dòng)生成一個(gè)窗體,結(jié)構(gòu)類似于在Windows系統(tǒng)下運(yùn)行的窗體,操作也和Windows系統(tǒng)下運(yùn)行的窗體類似。單擊某個(gè)按鈕,即可執(zhí)行對(duì)應(yīng)的操作。單擊菜單欄中的菜單名,即可彈出下拉菜單。在下拉菜單中顯示各種功能子菜單,包含執(zhí)行該項(xiàng)功能的快捷鍵。(3)窗體窗體是應(yīng)用程序的用戶界面,用戶需在窗體中設(shè)計(jì)窗體的外觀。(4)工具箱工具箱中提供了各種可用控件和組件。在設(shè)計(jì)程序時(shí)可通過(guò)修改對(duì)象的屬性來(lái)設(shè)計(jì)外觀和相關(guān)數(shù)據(jù),這些屬性值將是程序運(yùn)行時(shí)各對(duì)象屬性的初始值??丶仨殢囊韵禄究丶愔慌缮?。可以在設(shè)計(jì)器中操作組件,也可以編寫(xiě)代碼以便在運(yùn)行時(shí)動(dòng)態(tài)操作組件。4.在VB 2005集成開(kāi)發(fā)環(huán)境中向窗體添加控件后,怎樣打開(kāi)代碼窗口添加或編輯控件代碼?答:代碼窗口是編寫(xiě)應(yīng)用程序代碼的地方。在窗體中輸出“大家好!”字樣。設(shè)置如圖11左圖所示。答:在可視化編程語(yǔ)言中,對(duì)象是代碼和數(shù)據(jù)的集合,它可以是窗體和控件,也可以是菜單或數(shù)據(jù)庫(kù)等。2.在VB 2005中,系統(tǒng)定義了哪幾種基本數(shù)據(jù)類型?答:VB 2005定義的數(shù)據(jù)類型通??梢苑譃椋簲?shù)值數(shù)據(jù)類型、字符數(shù)據(jù)類型、布爾數(shù)據(jù)類型、日期數(shù)據(jù)類型、對(duì)象數(shù)據(jù)類型。5.在VB 2005中,對(duì)于沒(méi)有賦值的Integer型變量、Decimal型變量、Date型變量、String型變量、Boolean型變量、Object型變量,系統(tǒng)默認(rèn)值分別是什么?答:在VB 2005中,對(duì)于沒(méi)有賦值的Integer型變量,系統(tǒng)默認(rèn)值為0;Decimal型變量,系統(tǒng)默認(rèn)值為0;Date型變量,系統(tǒng)默認(rèn)值為000111 0:00:00;String型變量,系統(tǒng)默認(rèn)值為空串;Boolean型變量,系統(tǒng)默認(rèn)值為False;Object型變量,系統(tǒng)默認(rèn)值為空。 123 amp。(1)*Int(x+) (2)*Int(100*(x+))(3)*Int(100*(x+)) (4)*Int(x+)答:(2)。3.實(shí)現(xiàn)數(shù)據(jù)輸出的方法有哪些?答:在VB 2005中,系統(tǒng)提供了多種方法可以實(shí)現(xiàn)數(shù)據(jù)輸出。5.為什么要在程序中使用注釋?答:注釋語(yǔ)句用來(lái)對(duì)程序代碼進(jìn)行說(shuō)明,不參與程序的執(zhí)行。設(shè)計(jì)步驟如下:1) 建立應(yīng)用程序用戶界面和添加控件。 命令按鈕“計(jì)算”的Click事件Private Sub Button1_Click(ByVal sender As , ByVal e As ) _Handles Dim a, b, x, s As Single a = CSng() b = CSng() x = CSng() s = * a * b * (x * / 180) 39。例如84度30分24秒,轉(zhuǎn)換為十進(jìn)制:24 / 3600 = 30 / 60 = 十進(jìn)制角度值 = 84 + + = ,然后將十進(jìn)制角度換算為弧度值: π / 180 = 設(shè)計(jì)步驟如下:1) 建立應(yīng)用程序用戶界面和添加控件。39。8.向一個(gè)RC串聯(lián)電路充電,電容上的電壓為:其中,U0為直流電源的電壓。設(shè)置如圖4左所示。9.編程輸出在指定范圍內(nèi)的3個(gè)隨機(jī)數(shù)。設(shè)置如圖5左所示。 隨機(jī)數(shù)上限 high = 39。 第3個(gè)隨機(jī)數(shù) = x = y = zEnd Sub3) 運(yùn)行程序,輸入隨機(jī)數(shù)上限和下限后單擊“輸出”按鈕,結(jié)果如圖5右所示。例如,當(dāng)要求用戶輸入成績(jī)時(shí),則只能輸入數(shù)值型數(shù)據(jù)。例如,在多個(gè)輸入控件中,輸入的先后順序不影響結(jié)果。例如,在If…Then語(yǔ)句中,語(yǔ)句塊1或語(yǔ)句塊2本身又是一個(gè)If…Then語(yǔ)句或者Select…Case語(yǔ)句,則稱之為選擇結(jié)構(gòu)的嵌套。圖6 計(jì)算水費(fèi)答:由于水費(fèi)標(biāo)準(zhǔn)分為多種情況,所以使用選擇結(jié)構(gòu)If…Then…ElseIf…End If語(yǔ)句。 圖7 計(jì)算水費(fèi)2) 編寫(xiě)事件代碼。 判斷下拉列表框選擇的序號(hào) b = a * 1 ElseIf = 1 Then b = a * ElseIf = 2 Then b = a * 2 ElseIf = 3 Then b = a * 6 End If = bEnd Sub3) 運(yùn)行程序,選擇水費(fèi)類型并輸入用水量后單擊“計(jì)算”按鈕,結(jié)果如圖7右所示。當(dāng)選擇單選框選項(xiàng),設(shè)置時(shí)間顯示格式。設(shè)置如圖9左所示。 掩碼文本框顯示當(dāng)前日期時(shí)間End Sub39。 復(fù)選框“時(shí)間”的CheckedChanged事件Private Sub CheckBox2_CheckedChanged(ByVal sender As , ByVal e _As ) Handles = TimeOfDay 39。 格式化星期 If = True Then 39。 單選框“24小時(shí)制”的CheckedChanged事件Private Sub RadioButton2_CheckedChanged(ByVal sender As , ByVal e _As ) Handles = Format(TimeOfDay, H:mm:ss) 39。密碼用“*”隱藏。圖10 應(yīng)用程序界面答:使用If...Else...End If語(yǔ)句。在窗體上添加2個(gè)命令按鈕對(duì)象,1個(gè)信息提示對(duì)象,1個(gè)錯(cuò)誤提示組件對(duì)象,1個(gè)掩碼文本框?qū)ο螅?個(gè)標(biāo)簽對(duì)象,1個(gè)文本框?qū)ο蟆1? 屬性設(shè)置對(duì)象屬性屬性值說(shuō)明MaskedTextBox1Mask999999密碼只能輸入數(shù)字,最多輸入6個(gè)數(shù)字PasswordChar*設(shè)置密碼以“*”顯示Label3VisibleTrue隱藏提示標(biāo)簽3) 編寫(xiě)事件代碼。 密碼39。 判斷用戶名和密碼是否正確 If ( = myName) And ( = myPassword) Then 39。 提示錯(cuò)誤 End If End If If ( myName) Or ( myPassword) Then = = True = 登錄失??! amp。 輸入失敗,登錄計(jì)數(shù)器加1 If i 3 Then 39。程序設(shè)計(jì)中的循環(huán)結(jié)構(gòu)(簡(jiǎn)稱循環(huán))是指在程序中,從某處開(kāi)始有規(guī)律地反復(fù)執(zhí)行某一操作塊(或程序塊)??梢酝ㄟ^(guò)下式計(jì)算:循環(huán)次數(shù)=Int((終值初值)/步長(zhǎng)+1)如果計(jì)算出的循環(huán)次數(shù)小于或者等于0,循環(huán)次數(shù)為0,這時(shí)系統(tǒng)將不執(zhí)行循環(huán)體。4.在VB 2005中,除了可以在代碼窗口直接輸入各種流程控制語(yǔ)句外,還可以通過(guò)什么方法來(lái)快速生成流程控制語(yǔ)句?答:可以通過(guò)下面的“插入代碼段”來(lái)生成各種流程控制語(yǔ)句:(1)在代碼編輯窗口中,單擊鼠標(biāo)右鍵,在快捷菜單中選擇“插入代碼段”選項(xiàng),如圖12所示。其中,相關(guān)參數(shù)系統(tǒng)用綠色標(biāo)識(shí),提示程序員可以修改這些參數(shù)。2) 編寫(xiě)事件代碼。 控制輸出行數(shù) For j = i To 9 39。 * amp。 Space(1) Else mystring = mystring amp。 = amp。 每行輸出結(jié)束,以回車換行符結(jié)束 Next = mystring 39。變量n的值從鍵盤輸入,n的值決定了表達(dá)式的“長(zhǎng)度”。39。圖15 求s的值7.編制程序,求出所有小于或等于500的自然數(shù)對(duì)。2) 編寫(xiě)事件代碼。 循環(huán)每一個(gè)數(shù) s = n + m d = n m If (s) = Int((s)) And (d) = Int((d)) Then (CStr(n) amp。編制程序,找出1~1000之間的全部“完備數(shù)”,并將這些完備數(shù)顯示在列表框中。在窗體上添加文本框控件對(duì)象、下拉列表控件對(duì)象、命令按鈕控件對(duì)象。 命令按鈕“顯示”的Click事件Private Sub Button1_Click(ByVal sender As ,ByVal e As ) _Handles Dim i, j, sum As Integer For i = 2 To 1000 39。 判斷因數(shù)與原數(shù)是否相等 (i) 39。使用ReDim語(yǔ)句不可以改變已聲明數(shù)組的數(shù)據(jù)類型,但可以通過(guò)ReDim語(yǔ)句改變已聲明數(shù)組的大小,也就是為數(shù)組變量重新分配存儲(chǔ)空間。在窗體上添加控制面板控件對(duì)象。 窗體的Load事件Private Sub Form1_Load(ByVal sender As , ByVal e As ) _Handles Dim i, j As Integer Dim myString As String = Randomize() For i = 0 To 4 For j = 0 To 4 myArray(i, j) = Int(Rnd() * 90) + 10 myString = myString amp。 命令按鈕“計(jì)算”的Click事件Private Sub Button1_Click(ByVal sender As , ByVal e As ) _Handles Dim i, j, sum As Integer sum = 0 For i = 0 To 4 For j = 0 To 4 If i = j Then sum = sum + myArray(i, j) End If Next Next = CStr(sum)End Sub3) 運(yùn)行程序,單擊“計(jì)算”按鈕,結(jié)果如圖18右所示。設(shè)置如圖19左所示。 CStr(A(i, j)) amp。 Next myString = myString amp。 Next myString = myString amp。答:學(xué)生的信息由姓名和分?jǐn)?shù)組成,所以使用二維數(shù)組存儲(chǔ)。 圖20 統(tǒng)計(jì)學(xué)生成績(jī)2) 編寫(xiě)事件代碼。 Space(2) amp。 student(i, 1)) End If Next Case Is = 不及格 () For i = 0 To 9 If student(i, 1) 60 Then (student(i, 0) amp。6.現(xiàn)有一個(gè)商品清單,包括商品的名稱和單價(jià),讓顧客選購(gòu)。設(shè)置如圖21左所示。 命令按鈕“”的事件代碼 39。 命令按鈕“”的事件代碼 39。 判斷CheckedListBox2中哪個(gè)選項(xiàng)被選中 For i = 0 To 1 If 0 Then For j = 0 To 1 39。 將CheckedListBox1中選中的所有選項(xiàng)添加到CheckedListBox2中 For i = 0 To 1 ((i)) Next () 39。當(dāng)鼠標(biāo)選中列表框的某一項(xiàng)時(shí),調(diào)用列表框的SelectedIndexChanged事件,將相應(yīng)的學(xué)生成績(jī)顯示在一系列的文本框中。 圖22 統(tǒng)計(jì)學(xué)生成績(jī)2) 編寫(xiě)事件代碼。 給數(shù)組分別賦值 Student(0) = 張 明 : Stu_Score(0, 0) = 80 : Stu_Score(0, 1) = 55 : Stu_Score(0, 2) = 90