萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 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

copyright © 萬盛學電腦網 all rights reserved