




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Visual Basic 輸入探討(04)(一) 輸入控制項(xiàng)輸入控制權(quán)的英文是Focus,在執(zhí)行一個(gè)輸入表單時(shí)我們都希望按照我們程式的控制讓游標(biāo)到指定位置,但如何做呢?一般的作法是用 Tab 鍵將輸入控制權(quán)轉(zhuǎn)移給下一個(gè)控制項(xiàng)。也可以用滑鼠點(diǎn)一下,讓某個(gè)輸入物件(文字輸入,按鈕)取得控制權(quán)。但我們也可用屬性或程式來(lái)控制。(1) 順位定位控制定位順序是依照物件(控制項(xiàng))當(dāng)初被建立的順序來(lái)排列,因此連續(xù)按 Tab 鍵,輸入控制項(xiàng)就會(huì)依照定位的順序來(lái)排列。這些定位順序被記錄在物件屬性的 TabIndex 中,它的編號(hào)從 0 開(kāi)始。設(shè)計(jì)或程式執(zhí)行階段都可以更改TabIndex 值,每次更改後,都會(huì)自動(dòng)調(diào)
2、整它們之間的定位順序。例如:如果要在使 Text1 在程式執(zhí)行後第一個(gè)先做 Text1 輸入,可改 Text1.屬性為 0 或程式中令Text1.TabIndex = 0 就可。(2) 功能鈕(command) TopLeft Height Width功能鈕(command)作為二元(開(kāi)關(guān)、是非題、作用不作用)等輸入的重要物件。1、其常用屬性如下: Height :功能鈕(物件)高度功能鈕 Left :功能鈕(物件)X軸位置 Top :功能鈕(物件)Y軸位置 Width :功能鈕(物件)寬度 Name :功能鈕(物件)新名字 Caption :功能鈕(物件)顯示標(biāo)題名稱(可顯示中文) Font
3、 :功能鈕(物件)顯示標(biāo)題名稱的字型、大小等2、VB 程式碼內(nèi)各副程式的組成結(jié)構(gòu)如下: Private Sub 物件名稱_事件名稱( ) : End Sub如果物件功能鈕的名稱為 Command1 事件為按一下click則副程式組成為:(按兩下物件功能鈕出現(xiàn)如下副程式:) Private Sub Command1_Click( ) : End Sub3、快速鍵:在Windows 的應(yīng)用程式中,??匆?jiàn)下列類似的功能鈕:否(N)是(Y) 上述的英文字母底下都有一底線,通??吹缴鲜鲡o,只要按<Alt +字母>就可以執(zhí)行該鈕。例如:上述功能鈕知道按<Alt + Y> 或<
4、Alt + N> 就可以執(zhí)行該按鈕。作法:在屬性 Caption :是&Y 或 否&Nl 如果想按 Y 或 N 直接執(zhí)行就處理某項(xiàng)工作:可用下列程式A、 首先讓物件功能鈕發(fā)生作用(取得控制權(quán))B、 程式寫法如下:Private Sub Command1_KeyPress(KeyAscii As Integer) Ch = Chr(Keyascii) If Ch = “c” Or Ch = “C” then 處理某項(xiàng)工作 End ifEnd Sub4、讓功能鈕暫時(shí)沒(méi)作用(Disabled)讓功能鈕暫時(shí)沒(méi)作用的方法(以虛線顯示)為屬性:Enabled = False (有作用
5、為 Enabled = True(預(yù)設(shè)值)例如想讓功能鈕 Command1 無(wú)法對(duì)事件作回應(yīng),其作法: Command1.Enabled = Falsel 如果使用屬性 Visible 其作法Command1.Visible = True 說(shuō)明:顯現(xiàn) (預(yù)設(shè)值)Command1.Visible = False 說(shuō)明:不顯現(xiàn)且失去作用5、功能鈕的說(shuō)明文字如果為了使所設(shè)計(jì)的程式更加易懂,我們可以為功能鈕加註解說(shuō)明,其作法只要改變功能鈕的 ToolTipText 屬性就可:例如想讓顯示功能鈕 Command1作用(結(jié)束程式) Command1.ToolTipText = 程式執(zhí)行結(jié)束範(fàn)例:vb401
6、 計(jì)算機(jī)第一步:表單設(shè)計(jì)(物件、屬性)1、 先開(kāi)一個(gè)新專案,將表單(Form)的屬性改為:Caption = 計(jì)算機(jī)2、 在表單上拉出一個(gè)文字(Text)物件,將屬性改為:Text = “”3、 在表單中製作 10 個(gè)數(shù)字鈕(功能鈕),為按鈕陣列,將屬性改為:Command1(0) Command1(9)Caption = 0、1、2、3、4、5、6、7、8、9 4、 在表單中製作 4 個(gè)加、減、乘、除鈕,為按鈕陣列,將屬性改為:Command2(0) Command2(3)5、 在表單中製作清除鈕與等於鈕,將屬性改為:Command3 Command4Command3.Caption = “
7、=” Command4.Caption = “Clear”6、 在表單中製作關(guān)機(jī)鈕:Command5.Caption = “關(guān)機(jī)”完成表單如下:第二步:撰寫程式Dim x As IntegerDim num As DoublePrivate Sub Command1_Click(Index As Integer) Text1.Text = Text1.Text + Str(Index)End SubPrivate Sub Command2_Click(Index As Integer) num = Val(Text1.Text) Text1.Text = "" If Ind
8、ex = 0 Then x = 1 ElseIf Index = 1 Then x = 2 ElseIf Index = 2 Then x = 3 ElseIf Index = 3 Then x = 4 End IfEnd SubPrivate Sub Command3_Click() Select Case x Case 1: Text1.Text = num + Val(Text1.Text) Case 2: Text1.Text = num - Val(Text1.Text) Case 3: Text1.Text = num * Val(Text1.Text) Case 4: Text1
9、.Text = num / Val(Text1.Text) End SelectEnd SubPrivate Sub Command4_Click() Text1.Text = "" num = 0End SubPrivate Sub Command5_Click() EndEnd Sub(3) 文字方塊(TextBox)輸入在Windows 應(yīng)用程式中,標(biāo)籤(label)是應(yīng)用在固定在視窗某個(gè)位置的文字字串,而文書盒(Text Box)則通常應(yīng)用在 Windows 的文字、數(shù)字資料等輸入與輸出文字資料。1、 常用屬性:標(biāo)籤(label)與文書盒(Text Box)常用屬性
10、如Caption、Font、Height、Left、Name、Top、Width外a、 Alignment 預(yù)設(shè)情況標(biāo)籤(label)與文書盒(Text Box)是向左切齊(Left Justify),可以使屬性改為向中對(duì)齊(Center)或向右切齊(Right Justify)。b、 BackColor :設(shè)定背景顏色c、 ForeColor :設(shè)定前景(文字)顏色d、 AutoSize :設(shè)定是否依照標(biāo)籤文字內(nèi)容調(diào)整元件大小。只適用於標(biāo)籤。(Label)e、 PasswordChar :建立密碼,當(dāng)在此設(shè)定某個(gè)特定字元後,未來(lái)在文書盒內(nèi)輸入字元時(shí),資料內(nèi)容不變但所看到的都是特定字元。只適用
11、於文書盒。(Text)。f、 MaxLegth :設(shè)定文書盒(Text)最多可容納多少個(gè)字元。g、 MultiLine :設(shè)定文書盒是否允許多列資料存在。True 多列2、 快速鍵應(yīng)用:在視窗中常??吹?:大?。⊿)我們可以使用 Alt + S 來(lái)使控制游標(biāo)到其右邊的文書盒(Text)作法:a、先建立標(biāo)籤物件,在屬性Caption :大小&S b、然後立即建立文書盒,在屬性Text = “”即可。3、 文書盒按鍵相關(guān)事件文書盒(Text)是最常用的輸入裝置,由於文書盒(Text)和鍵盤有密切的關(guān)連性,和文書盒相關(guān)的事件有 KeyDown、KeyUp、KeyPress、Change。按鍵
12、後每一個(gè)鍵都有相對(duì)應(yīng)的 Ascii 碼(A:65),不但先發(fā)生KeyDown事件,而且會(huì)發(fā)生KeyPress事件,然後進(jìn)入Windows 系統(tǒng)內(nèi)部,讓系統(tǒng)在文字方塊中出現(xiàn)該字元,接著發(fā)生Change事件,最後才是KeyUp事件。KeyPress事件中 KeyAscii 所表現(xiàn)參數(shù)是按鍵的 Ascii 碼。範(fàn)例:(vb402) 溫度轉(zhuǎn)換第一步:表單設(shè)計(jì)(物件、屬性)1、 先開(kāi)一個(gè)新專案,將表單(Form)的屬性改為:Caption = 溫度轉(zhuǎn)換2、 建立標(biāo)籤label1,屬性Caption :華式溫度&F3、 在標(biāo)籤1旁邊建立文書盒Text1,屬性 Text = “”,Tabindex
13、= 04、 再建立標(biāo)籤label2,屬性Caption :攝式溫度&C5、 在標(biāo)籤2旁邊建立文書盒Text2,屬性 Text = “”6、 建立命令鈕 Command1,屬性Caption :結(jié)束 華式溫度F 攝氏溫度C第二步:撰寫程式Private Sub Command1_Click() EndEnd SubPrivate Sub Text1_Change() Text2.Text = (5 / 9) * (Text1.Text - 32)End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii <&
14、gt; 13 Then If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then KeyAscii = 0 Beep End If Else End IfEnd Subl 如果按鍵本身沒(méi)有 Ascii 碼(如:Alt 、Shift 、F5),則按了該鍵就只會(huì)發(fā)生 KeyDown 與 KeyUp 兩個(gè)事件,且不會(huì)在文字方塊出現(xiàn)任何字元:KeyDown 與 KeyUp 兩個(gè)事件會(huì)產(chǎn)生 KeyCode 與 Shift 碼例:偵測(cè)使用者是否按了 F4 鍵,是的話就關(guān)閉程式。Private Sub Text1
15、_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF4 Then End End Sub我們可用三個(gè)變數(shù)來(lái)記錄是否使用者按下 Shift 、Ctrl 、 Alt ShiftDown = (Shift And vbShiftMask)> 0 CtrlDown = (Shift And vbCtrlMask)> 0 AltDown = (Shift And vbAltMask)> 0例:偵測(cè)使用者是否同時(shí)按了 Shift + Ctrl + Alt + F6 鍵,是的話就顯示有人按了Shift + Ct
16、rl + Alt + F6 鍵Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Dim ShiftDown As Integer, AltDown As Integer, CtrlDown As Integer ShiftDown = (Shift And vbShiftMask)> 0 CtrlDown = (Shift And vbCtrlMask)> 0 AltDown = (Shift And vbAltMask)> 0 If ShiftDown And CtrlDown And AltDo
17、wn And (KeyCode = vbKeyF6) Then Text1.text = “有人按了Shift + Ctrl + Alt + F6 鍵” End If End Sub4、 GotFocus 與 LostFocus當(dāng)我們用 Tab 鍵或用滑鼠將輸入控制權(quán)轉(zhuǎn)移到文字方塊,會(huì)讓它發(fā)生 Gotfocus 事件。由於應(yīng)用程式常常會(huì)有什麼時(shí)候只能輸入什麼資料,我們可以在GotFocus 事件程序中將提示標(biāo)籤顯示出來(lái)。例:vb403 自動(dòng)進(jìn)入中文模式第一步:表單設(shè)計(jì)(物件、屬性)1、 先開(kāi)一個(gè)新專案,將表單(Form)的屬性改為:Caption = 自動(dòng)進(jìn)入中文模式2、 建立標(biāo)籤label1
18、,屬性Caption :?jiǎn)T工號(hào)碼:3、 在標(biāo)籤1旁邊建立文書盒Text1,屬性 Text = “”,Tabindex = 04、 再建立標(biāo)籤label2,屬性Caption :?jiǎn)T工姓名:5、 在標(biāo)籤2旁邊建立文書盒Text2,屬性 Text = “”6、 再建立標(biāo)籤label3,屬性Caption :電話:7、 在標(biāo)籤3旁邊建立文書盒Text3,屬性 Text = “”第二步:撰寫程式Private Sub Text1_KeyPress(KeyAscii As Integer)End SubPrivate Sub Text2_GotFocus() SendKeys " "E
19、nd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)End SubPrivate Sub Text2_LostFocus() SendKeys " "End Sub下列程式示範(fàn)它會(huì)限制輸入資料只能介於 1 99 之間,如果輸入錯(cuò)誤,會(huì)自動(dòng)清除。Private Sub Text1_LostFocus( ) Num = val(Text1.text) If Num < 1 Or Num > 99 Then Text1.text = “” Beep End If End Sub(二) 讀取輸入資料1、Visual
20、Basic 提供了輸入函數(shù)可供我們讀取從鍵盤內(nèi)輸入的資料,如下所示: InputBox (提示訊息,標(biāo)題,預(yù)設(shè)值,xpos,ypos)例: names = InputBox(“輸入你的名字 :”) 則執(zhí)行上述命令時(shí)將可看到輸入輸入你的名字 :對(duì)話方塊。如果有輸入,按確定後所輸入的資料將傳回原程式 names 變數(shù)內(nèi)。例: names = InputBox(“請(qǐng)輸入姓名:”, ”嘉師”,”王大有”) 執(zhí)行上述命令時(shí)將可看到輸入輸入你的名字 :與預(yù)設(shè)值王大有等對(duì)話方塊,如果有輸入,按確定後所輸入的資料將傳回原程式 names 變數(shù)內(nèi)。2、對(duì)話方塊的輸出欲執(zhí)行對(duì)話方塊的輸出可以使用 MsgBox 指
21、令或函數(shù)MsgBox msg ,type ,title 、指令格式MsgBox (msg ,type ,title) 、函數(shù)格式Msg , type ,title 格式符號(hào)常數(shù) 值 意義vbOKOnly 0 只顯示<確定>按鈕vbOKCancel 1 顯示<確定>和<取消>按鈕vbAbortRetryIgnore 2 顯示<失敗>、<重試>和<忽略>按鈕vbRetryCancel 3 顯示<是>、<否>和<取消>按鈕vbYesNo 4 顯示<是>、<否>按鈕vbR
22、etryCancel 5 顯示<重試>和<取消>按鈕符號(hào)常數(shù) 值 圖案vbCritical 16 XvbQuestion 32 ?vbExclamation 48 !vbInformation 64 I例:MsgBox “密碼錯(cuò)誤!” MsgBox “密碼錯(cuò)誤!”,48,”再輸入一次” 或 num = MsgBox (“ 你要繼續(xù)做嗎?”,35,”做完本題了”)(三) 副程式或函數(shù)的設(shè)計(jì)Visual Basic 的程序(副程式)包含 Sub 程序與 Function 程序。這兩個(gè)的不同點(diǎn)運(yùn)算式內(nèi)無(wú)法呼叫 Sub 程序。 Sub 程序的呼叫必須是單獨(dú)的陳述式,因?yàn)樗鼪](méi)有傳
23、回值。而Function 程序一定有傳回值。Sub 程序可以用改變傳遞給它的參數(shù)值來(lái)獲得運(yùn)算結(jié)果。1、 呼叫 Sub 程序(1) Call MyProc (FirstArgument, SecondArgument)(2) MyProc FirstArgument, SecondArgument2、 呼叫Function 程序(1) GetVal = MyFun(Arguments)(2) Call Myfun(Arguments) 或Myfun Arguments例:X = Val(text1.text) 3、編輯自己的Sub副程式作法A:1、先進(jìn)入 Form_Load( )副程式視窗 Pr
24、ivate Sub Form_Load( ) : End Sub2、 在 End Sub 下兩行輸入 Sub Test( )後按<Enter>鍵3、 出現(xiàn) Sub Test( ) : End Sub4、 這個(gè)普通副程式在物件欄屬一般,而它的名稱則會(huì)被記載在程序欄位內(nèi)。5、 需要使用時(shí)則用 Call Test( ) 就可作法 B:1、執(zhí)行 VB 主視窗、工具功能表的新增程序選項(xiàng),出現(xiàn)對(duì)話方塊。2、 從型態(tài)欄位內(nèi),可以選副程式(Sub)、函數(shù)(Function)、屬性(Property)或事件(Event)。然後在名稱欄位輸入副程式或函數(shù)名稱。3、 在範(fàn)圍欄位內(nèi)選公用(Public)或私用(Private)。後按確定即可。l 聲音播放:1、sndPlaySound 是一個(gè) Windows API (Aplllication Programming Interface)函數(shù),主要的功能是用於播放 Wav 聲音,在使用這個(gè)函數(shù)前我們需要在一般、宣告下宣告:Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoun
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年燈籠制作與創(chuàng)意產(chǎn)業(yè)的發(fā)展課件
- 2025至2030年中國(guó)普通合頁(yè)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年佳木斯職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 太陽(yáng)能熱電聯(lián)產(chǎn)財(cái)務(wù)可行性分析
- 突發(fā)環(huán)境事件應(yīng)急響應(yīng)流程圖
- 白酒老酒收藏代理合作協(xié)議書(二零二五年度)
- 二零二五年度環(huán)保咨詢服務(wù)專業(yè)技術(shù)人員聘用協(xié)議
- 2025年度環(huán)保技術(shù)創(chuàng)新項(xiàng)目投資意向協(xié)議書
- 第22章 第4節(jié) 《遺傳病和優(yōu)生優(yōu)育》教學(xué)設(shè)計(jì)-2024-2025學(xué)年初中生物八年級(jí)下冊(cè)同步教學(xué)(蘇教版)
- 第八章 壓強(qiáng)和浮力《第三節(jié) 探尋連通器》教學(xué)設(shè)計(jì)2024-2025學(xué)年北師大版(2024)初中物理八年級(jí)下冊(cè)標(biāo)簽標(biāo)題
- 《生物質(zhì)熱電聯(lián)產(chǎn)工程設(shè)計(jì)規(guī)范》
- 中國(guó)十五冶招聘線上筆試測(cè)評(píng)題庫(kù)
- 中國(guó)結(jié)直腸癌診療規(guī)范(2023版)解讀
- 通用級(jí)聚苯乙烯簡(jiǎn)介介紹
- 《反竊電技術(shù)》課件
- 1.1原子結(jié)構(gòu)-12課時(shí)課件高二化學(xué)人教版選擇性必修2
- 如何讓孩子積極參與家務(wù)勞動(dòng)
- 2023年污水處理行業(yè)洞察報(bào)告及未來(lái)五至十年預(yù)測(cè)分析報(bào)告(修訂版)
- 小學(xué)生素質(zhì)發(fā)展報(bào)告單
- 人衛(wèi)版急診與災(zāi)難醫(yī)學(xué)之呼吸困難教學(xué)課件
- 拓?fù)鋽?shù)據(jù)分析理論
評(píng)論
0/150
提交評(píng)論