久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Visual Basic入門教程之四

 昵稱7077262 2011-06-14
 第四章 按鈕(一)

  從本章開始我們將正式進(jìn)入VB的編程世界,,但這還僅僅是個開端,,要編出功能強(qiáng)大的軟件,還要學(xué)很多東西,,那就要看以后的VB高級教程了,,我也得努力學(xué)啊,!

  按鈕是我們在Windows操作見到最多的控件,,它們有著各種各樣的功能:“確認(rèn)”、“取消”,、“下一步”等等,,這些都是按鈕的表現(xiàn),另外還有很多圖形話的按鈕,,其實(shí)它們并沒什么不同,,所有的按鈕都是通過單擊(click)事件實(shí)現(xiàn)的,只不過是在外表不同罷了,。下面就讓我們建立一個最簡單的按鈕,,雙擊工具箱的CommandButton,,將在窗體上建立一個形如圖4-1的按鈕,它的缺省名(Name屬性)為Command1,,我們可以把它改名為cmdExit,,把Caption屬性設(shè)為“退出”,然后雙擊,,按鈕填寫代碼:

  PrivateSubcmdExit_Click()

UnloadMe

  EndSub

  按下F5或者工具條上的播放按鈕,,運(yùn)行程序。圖4-2當(dāng)你按下退出按鈕的時候,,就會自動退出程序,,原因是當(dāng)你單擊按鈕時激活了它的Click事件,執(zhí)行“UnloadMe”語句,,使得窗體被卸載,。

  上面舉了一個比較簡單的例子,下面的例子稍微復(fù)雜些:

  新建窗體,,控件布局如圖4-3所示,,包括一個List控件,一個Text控件和兩個按鈕(Command1和Command2),,?。ū容^簡單的程序我們都采用缺省名),對它們屬性做如下修改:

  List1

  Caption=“請輸入你的名字”

  Text1

  Text=“”(空字符串)

  Button1

  Caption=“復(fù)原”

  Enabled=False

  Button2

  Caption=“清除”

  把使用Button1的Enabled屬性設(shè)為False(假),,是使程序在初始時,,無法單擊Command1。按F5,,運(yùn)行程序,,圖4-4,復(fù)原按鈕成為灰色,,不可選。

  當(dāng)然現(xiàn)在程序還什么也不能做,,下面我們在程序中添加代碼:

首先在General里聲明全局變量:

  DimStoreStringAsString'用來儲存字符串

  ※注意:為什么用全局變量,?

  VB里每一個小過程都相當(dāng)于一個程序,程序里的變量稱為局部變量,,是只能在程序內(nèi)部使用的,,而當(dāng)程序調(diào)用結(jié)束后,由于從內(nèi)存中被清除,,所以變量儲存的值也就消失了,,這里的全局變量是用來在過程中傳遞字符串。

 

  接著填寫以下代碼:

  PrivateSubCommand1_Click()

  Text1.Text=StoreString

Command1.Enabled=False

  EndSub

  PrivateSubCommand2_Click()

  StoreString=Text1.Text

Text1.Text=""'清除

  Command1.Enabled=True

  EndSub

  運(yùn)行程序,,如圖4-5,。按下“清除”,,文本框被清除,按下“復(fù)原”,,文本有被恢復(fù),,許多程序中的Undo/Redo就是利用這個原理實(shí)現(xiàn)的,現(xiàn)在知道為什么內(nèi)存越多越好了吧,。

  我們在把程序修改一下,,把Button2刪除,Button1的Enabled屬性改為True,,Caption改為“清除”,,填寫代碼:

  PrivateSubCommand1_Click()

  IfCommand1.Caption="清除"Then

  StoreString=Text1.Text

Text1.Text=""'清除

  Command1.Caption="復(fù)原"

  Else

  Text1.Text=StoreString

  Command1.Caption="清除"

  EndIf

  EndSub

  同樣可以上面的功能,但是卻少用了一個控件,,控件使用少的程序啟動會快些,。

 

  下面的例子要更加復(fù)雜些,大家一定都用過Windows附件中的計(jì)算器,,它是一個標(biāo)準(zhǔn)的科學(xué)計(jì)算器,,利用VB我們也可以做到,只是沒有那么復(fù)雜,,四則運(yùn)算而已,。

  先建立一個新的項(xiàng)目文件,里面包含一個Form1的窗體,。然后,,添加控件,包括一個Text框(Text1),,和17個按鈕,,這17個按鈕使用的名稱都是Command1,只是Index屬性不同,,就好象一個數(shù)組,,創(chuàng)立一組按鈕的方法是,先在窗體上建立一個按鈕(Command1),,然后在Command1上擊鼠標(biāo)右鍵,,選擇復(fù)制(Copy),然后在窗體上任意部位擊右鍵,,選擇粘貼(Paste),,系統(tǒng)會提示是否創(chuàng)建控件組,選擇“是”,,重復(fù)上面步驟,,直至創(chuàng)立17個按鈕為止。各控件屬性如下表:

  Text1

  BackColor=&H00C0FFFF&

  Text=“0.”

  Command1

  Index0DD16

  Index0DD9Caption=“0”-“9”

  Index10Caption=“.”

  Index11Caption=“=”

  Index12Caption=“ ”

  Index13Caption=“-”

  Index14Caption=“×”

  Index15Caption=“÷”

  Index16Caption=“清除”

 

  如果想改變一些其他的屬性,,比如字體,,可以自己定義一下Font屬性,,如果相對多個控件的共同屬性進(jìn)行改變,可以在窗體上按下鼠標(biāo),,拖動,,把多個控件一起選定,然后對它們的共同屬性進(jìn)行修改,。

  別看這個東西小,,還費(fèi)了近我兩個小時呢,不覺大嘆手生,,里面也有些地方很繞彎子,,我盡量解釋清楚。

  在編寫程序之前,,我們先來回顧一下計(jì)算器的使用,。

  按下數(shù)字鍵在液晶屏上會出現(xiàn)數(shù)字,這是最基本的功能,。

  第一次按下運(yùn)算鍵,,再按下數(shù)字鍵,將重新輸入第二個數(shù)字,,再次按下運(yùn)算鍵,,將算出前兩個數(shù)的結(jié)果,然后按下數(shù)字鍵,,將又重新輸入新的數(shù)字,。

  輸入數(shù)字后,按下“等于鍵”將仍輸出原來的數(shù)字,,輸入運(yùn)算符和第二個數(shù)字后在按下“等于”,,將得到二者的結(jié)果。然后又重復(fù)第二,、三步,。

  按下“清除”,數(shù)據(jù)被全部清除,。

  了解了這些,,我們一步一步實(shí)現(xiàn)。

  先實(shí)現(xiàn)數(shù)據(jù)的輸入,,請看代碼。

  與未創(chuàng)立組的控件相比,,它的事件里多了Index參數(shù),,組里所有的對象都使用同一個事件。

  先在General里聲明窗體級全局變量:

  DimNum1,Num2AsSingle

  DimStrNum1,StrNum2AsString

  DimFirstNumAsBoolean'判斷是否是數(shù)字開頭

  因?yàn)門ext1里是存放字符串的,,所以要把輸入的數(shù)據(jù)進(jìn)行運(yùn)算,,必須把字符型變量轉(zhuǎn)變?yōu)閷?shí)型變量,,分別用Num1、Num2和StrNum1,、StrNum2進(jìn)行存放,。

  在Form_Load事件里給變量初賦值:

  Num1=0

  Num2=0

  StrNum1=""

  StrNum2=""

  FirstNum=True

  因?yàn)?7個按鈕使用的是同一事件,所以我們用一個SelectCase語句區(qū)分各個按鈕,,雙擊任意按鈕輸入代碼:

  PrivateSubCommand1_Click(IndexAsInteger)

  SelectCaseIndex

  Case0To9

  IfFirstNumThen

  StrNum1=Str(Index)’實(shí)型轉(zhuǎn)字符型

  FirstNum=False’初賦值為假

  Else’非初賦值

  StrNum1=StrNum1 Str(Index)

  EndIf

  Text1.Text=StrNum1’顯示

  <還有其他語句,,等待插入>

  EndSelect

  EndSub

 

  運(yùn)行程序的話已經(jīng)可以輸入數(shù)據(jù),下面我們來處理小數(shù)點(diǎn),。

  在General里聲明新的變量:

  DimPointFlagAsBoolean'判斷是否已有小數(shù)點(diǎn)

  我們知道小數(shù)點(diǎn)只能輸入一次,,一個數(shù)據(jù)中不能有多個小數(shù)點(diǎn)存在,所以需要一個布爾變量做判斷,。

  在Form_Load里進(jìn)行初賦值:

  PointFlag=False

  在Command的單擊事件里接著上面輸入新的代碼:

  Case10

  IfNotPointFlagThen’如果沒有小數(shù)點(diǎn)

  IfFirstNumThen’如果是第一個字符

  StrNum1="0."

  FirstNum=False

  Else

  StrNum1=StrNum1 "."

  EndIf

  Else’已有小數(shù)點(diǎn)

  ExitSub’則退出單擊事件

  EndIf

  PointFlag=True

  Text1.Text=StrNum1

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多