程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Visual Basic入門教程之二

Visual Basic入門教程之二

編輯:更多關於編程

      第二章:事件、屬性及數據類型

      以後兩章可能會比較枯燥,但不可否認也很重要,所以為了學好VB,我們一定要打好基礎才行。

      一、事件

      通過上一章的例子,你可能對“面向對象的編程”已經有了一定了解,它是由事件驅動的,對於不同的對象,所能感應到的事件也會不同,譬如說當你把鼠標移進某一區域時就會觸發MouseMove事件,這很直觀,也容易理解,但也有些事件比較抽象,下面我來對一般的事件進行一下解釋。

      窗體和圖象框類事件

      Paint事件:當某一對象在屏幕中被移動,改變尺寸或清除後,程序會自動調用Paint事件。注意:當對象的AutoDraw屬性為True(-1)時,程序不會調用Paint事件。

      Resize事件:當對象的大小改變時觸發Resize事件。

      Load事件:僅適用於窗體對象,當窗體被裝載時運行。

      Unload事件:僅適用於窗體對象,當窗體被卸載時運行。

      2.當前光標(Focus)事件

      GotFocus事件:當光標聚焦於該對象時發生事件。

      LostFocus事件:當光標離開該對象時發生事件。

      注意:Focus英文為“焦點”、“聚焦”之意,最直觀的例子是,比如有兩個窗體,互相有一部分遮蓋,當你點下面的窗體時,它就會全部顯示出來,這時它處在被激活的狀態,並且標題條變成藍色,這就是GotFocus事件,而相反,另外一個窗體被遮蓋,並且標題條變灰,稱為LostFocus事件。上面所說的“光標”並非指鼠標指針。

      3.鼠標操作事件

      Click事件:鼠標單擊對象。

      DbClick事件:鼠標雙擊事件。

      MouseDown、MouseUp屬性:按下/放開鼠標鍵事件。

      MouseMove事件:鼠標移動事件。

      DragDrop事件:拖放事件,相當於MouseDown、MouseMove和MouseUp的組合。

      DragOver事件:鼠標在拖放過程中就會產生DragOver事件。

      4.鍵盤操作屬性

      KeyDown、KeyUp事件:按鍵的按下/放開事件。

      KeyPress事件:按鍵事件。

      5.改變控制項事件

      Change事件:當對象的內容發生改變時,觸發Change事件。最典型的例子是文本框(TextBox)。

      DropDown事件:下彈事件,僅用於組合框(ComboBox)對象。

      PathChange事件:路徑改變事件,僅用於文件列表框(FileBox)對象。

      6.其他事件

      Timer事件:僅用於計時器,每隔一段時間被觸發一次。

      二、屬性

      每個對象都有它的屬性,並且“Name”屬性是共有的,有了“Name”屬性才可以在程序中進行調用。對於屬性,可以在窗體的布局操作中完成,也可以在程序運行中改變,這取決你的需要,但有些屬性是只讀的,它只能在控件布局時改變。我將在以後的實例中具體介紹各個屬性的作用。

      三、數據類型

      學過編程的人都知道大多數的計算機語言都規定了各自的數據類型,VB也不例外。其實,在一個最簡單的程序中數據類型是可以不作規定的,也就是說,變量可以使用各種類型,但是在一個復雜的程序裡,這樣做就很危險,因為很可能給同一個變量賦予了不同的類型,而導致程序出錯。所以,為了程序的嚴謹和便於查看,正確的定義數據類型是必要的。定義數據的另一個原因是,不同的數據占用不同的內存數量,譬如整型(Interger)數據占2字節,而長整型數據占4個字節,定義合適的數據類型,不管你相信不相信,它可以節省內存!

      VB常用的數據類型有:整型(Integer,表示-32768至32767之間的整數)、長整型(Long,表示-2,147,483,648至2,147,483,647之間的整數)、實型(Single,表示-3.37E 38至3.37E 38之間的實數)、雙精度實型(Double,表示-1.67E 308至1.67E 308之間的實數),字符(String,每個字符占一字節,可以儲存0~65,535個字符),布爾(Boolean,只有兩個值True/-1,或False/0)。

      數據類型的定義方法:

      定義變量最簡單的方法是用“Dim”關鍵字,它的語法:

      Dim【變量名】As【數據類型】

      如:DimIndexAsInteger

      也可以在一行中定義多個變量,如:

      DimIndexAsInteger,DimNumberAsLong

      把多個變量定義成同一類型可以寫成:

      DimIndex,NumberAsInteger

      更可以在定義時進行初賦值:

      DimIndex=3

      有時為了簡便,也以符號進行簡單的定義,作用是和上面一樣的。整型可以用“”代替,長整型可以用“&”代替,實型可以用“!”,雙精度實型可以用“#”定義,如剛才的第一個例子可以寫成:

      DimIndex等價於DimIndexAsInteger

      對於常量的定義用Const定義,如:ConstCOLOR=255。

      為了在程序中便於查閱,我們對變量和常量的寫法進行規定,變量一般用小寫方式,常量則全部大寫。

      注意:使用常量的好處,對於程序中經常出現的數值,應設常量等於它,這樣一是書寫方便,其二,如果要改變該數值,只需改變定義常量的語句值,而不需改變每個語句,提高了效率。

      數組的定義類似於變量定義,所不同的是數組需要指定數組中的元素個數,例如:

      DimIntegerArray(99)AsInteger

      這個數組中包含100個元素,腳標從0到99。

      也可以指定腳標的起始值,例如:

      DimIntegerArray(2to10)AsInteger

      這個數組含有九個元素,腳標從2到10。

      還可以定義多維數組:

      DimThreeD(4,2to5,3to6)AsInteger

      上例定義了一個3d/33.shtml'target='_blank'class='article'>三維數組(4×4×4)。

      記錄的定義

      記錄定義是把控制權交給用戶的方法,它讓用戶可以定義自己的數據類型,它使用關鍵字“Type”,方法是:

      Type【數據類型標識符】

      <域名>As<數據類型>

      <域名>As<數據類型>

      <域名>As<數據類型>

      EndType

      例如,定義一個地址數據:

      TypeAddress

      StreetAsString

      ZipCodeAsString

      PhoneAsString

      EndType

      這個地址數據裡包括三個屬性,街區、郵政編碼和電話,可以把某數據定義成此類型:

      DimMyHomeAsAddress

      要調用或改變“MyHome”的值時,類似於對對象的屬性的操作:

      變量名.域名=“……”

      為了簡化書寫重復的部分,可以用關鍵字“With”:

      WithMyHome

      .Street=”阜成路”

      .ZipCode=”100037”

      .Phone=”12345678”

      EndWith

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved