vb點(diǎn)虐 教程之vb點(diǎn)虐 的Button控件
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。
vb點(diǎn)虐 的Button控件
Button(按鈕)控件一般接受鼠標(biāo)單擊事件被用來啟動(dòng)、中斷或結(jié)束一個(gè)進(jìn)程(相當(dāng)于Visual Basic以前版本的CommandButton控件)。單擊Button控件時(shí)將調(diào)用已寫入Click事件過程中的過程。Button控件在大多數(shù)Visual Basic應(yīng)用程序中都會(huì)用到,用戶可以單擊按鈕執(zhí)行操作。單擊時(shí),按鈕不僅能執(zhí)行相應(yīng)的操作,而且看起來與被按下和松開一樣。Button控件在工具箱中的圖標(biāo)如圖所示:
1.向窗體添加按鈕
在應(yīng)用程序中很可能要使用多個(gè)按鈕。就象在其他容器控件上繪制按鈕那樣,從工具箱里把Button控件直接拖到窗體上即可。可用鼠標(biāo)調(diào)整按鈕的大小,也可通過設(shè)置Location(坐標(biāo),用來確定控件相對(duì)窗體左上方頂點(diǎn)的位置)和Size(大小,第一個(gè)參數(shù)代表寬度,第二個(gè)參數(shù)代表高度)屬性進(jìn)行調(diào)整。
2.設(shè)置按鈕顯示文本
可用Text屬性改變按鈕上顯示的文本。設(shè)計(jì)時(shí),可在控件的“屬性窗口”中設(shè)置此屬性。在設(shè)計(jì)時(shí)設(shè)置Text屬性后將動(dòng)態(tài)更新按鈕文本。Text屬性最多包含255個(gè)字符。若標(biāo)題超過了命令按鈕的寬度,則會(huì)折到下一行。但是,如果控件無法容納其全部長(zhǎng)度,則標(biāo)題會(huì)被剪切??梢酝ㄟ^設(shè)置Font屬性改變?cè)诿畎粹o上顯示的字體。
3.創(chuàng)建鍵盤快捷方式
可通過Text屬性創(chuàng)建按鈕的訪問鍵快捷方式。為此,只需在作為訪問鍵的字母前添加一個(gè)連字符()。例如,要為標(biāo)題“Ok”創(chuàng)建訪問鍵,應(yīng)在字母“O”前添中連字符,于是得到“Ok”。運(yùn)行時(shí),字母“O”將帶下劃線,同時(shí)按Alt+O鍵就可執(zhí)行單擊按鈕程序所執(zhí)行的動(dòng)作。
注意:如果不創(chuàng)建訪問鍵,而又要使標(biāo)題中包含連字符,應(yīng)添加兩個(gè)連字符()。這樣,在標(biāo)題中就只顯示一個(gè)連字符。
4.選定按鈕
運(yùn)行時(shí),可用鼠標(biāo)或鍵盤通過下述方法選定按鈕:
(1)用鼠標(biāo)單擊按鈕;
(2)按Tab鍵,將焦點(diǎn)轉(zhuǎn)移到按鈕上,然后按Enter鍵選定按鈕;
(3)按按鈕的訪問鍵([Alt+帶有下劃線的字母])。
5.Click事件
運(yùn)行時(shí)單擊按鈕,將觸發(fā)按鈕的Click事件并執(zhí)行寫入Click事件過程中的代碼,同時(shí),單擊按鈕的過程也將生成MouseMove、MouseLeave、MouseDown和MouseUp等事件。如果要在這些相關(guān)事件中附加事件過程,則應(yīng)確保操作不發(fā)生沖突。對(duì)控件的操作不同,這些事件過程發(fā)生的順序也不同。Button控件的單擊事件發(fā)生順序?yàn)椋?/p>
MouseMove→MouseDown→Click→MouseUp→MouseLeave
注意:如果用戶試圖雙擊按鈕控件,則其中每一次單擊都將分別處理;也即按鈕控件不支持雙擊事件。
6.增強(qiáng)按鈕的視覺效果
按鈕控件象復(fù)選框和選項(xiàng)按鈕一樣,可通過Image屬性設(shè)置Button控件上的圖標(biāo)以增強(qiáng)視覺效果,然后設(shè)置圖標(biāo)(圖片)的屬性:ImageAlign顯示圖標(biāo)(圖片)的位置。通過設(shè)置ImageIndex(圖片在圖片框中的索引)以及ImageList(圖片框)則可實(shí)現(xiàn)如下的效果,比如要向按鈕添加圖標(biāo)或位圖,或者在單擊、禁止控件時(shí)顯示不同的圖象等等。
首先要添加兩個(gè)窗體,假設(shè)第一個(gè)窗體名為Form1,第二個(gè)窗體名為Form2。在Form1窗體中添加個(gè)按鈕Command1。按鈕單擊事件的代碼為:
Private Sub Command1_Click()
Form2.Show '用show方法加載并且顯示名為Form2的窗體
End Sub
show 方法后面省略了兩個(gè)參數(shù)即Form2.Show 0或Form2.Show 1此參數(shù)可缺省。可自行運(yùn)行驗(yàn)證
Public Sub GenerateDynamiceButton()
'建立 坐標(biāo)位置的變數(shù), 方便一會(huì)兒安排 自動(dòng)生產(chǎn)的button 的位置
Dim y As Integer = 15
Dim x As Integer = 0
' 用for loop 來建立 這些button 做 18只button
For ButtonIndex As Integer = 0 To 17
' 建造新的 button
Dim MyButton As New Button
'設(shè)定這新的button 的闊度
MyButton.Width = 80
'設(shè)定這新的button 的高度
MyButton.Height = 20
'我們暫定每行有4個(gè)BUTTON, 當(dāng)每行有多個(gè)4個(gè)BUTTON 時(shí)重設(shè)行距, 令到下一行的和這一行的距離有10 個(gè)PIXEL
' 和重設(shè)x 坐標(biāo)` = 0, 令到位置由頭開始
If ButtonIndex Mod 4 = 0 Then
'設(shè)定 TOP 的 坐標(biāo)位置令他可以和上一排的有10個(gè)PIXEL 的距離
y += MyButton.Height + 10
x = 0
End If
'設(shè)定文字 和 位置
' Set the text and set its top and left based on its dimensions and count
MyButton.Text = "My Button" ButtonIndex
'設(shè)定 TOP 的 坐標(biāo)位置
MyButton.Top = y
'下面的CODE 可以令到這個(gè)BUTTON 和另一個(gè)BUTTON 有5個(gè)PIXEL 的距離
MyButton.Left = 26 + (x * (MyButton.Width + 5))
x += 1
'設(shè)定 BUTTON CLICK EVENT
AddHandler MyButton.Click, AddressOf MyButton_Click
'把button 加到 form 中
Me.Controls.Add(MyButton)
Next
End Sub
'處理 button click event
Private Sub MyButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim btn As Button = sender
'pop up 一個(gè)自己button 的字的message
MsgBox(btn.Text)
您好,這種方法可以通過按鈕的MouseDown和MouseUp事件來實(shí)現(xiàn),比如說,當(dāng)單擊按鈕RedColor(RedColor為這個(gè)按鈕的Name屬性的屬性值)的時(shí)候,要使按鈕的顏色變成紅色,這可以在代碼視圖中的控件選擇下拉列表中選擇RedColor這個(gè)控件,然后在右邊的事件下拉列表中選擇MouseDown事件(當(dāng)按下鼠標(biāo)時(shí)發(fā)生),這時(shí),Visual Studio會(huì)自動(dòng)生成如下代碼:
Private Sub RedColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseDown
End Sub
接下來就在當(dāng)前生成的代碼中寫入如下代碼:
RedColor.BackColor = Color.FromArgb(255, 0, 0)
這句代碼的作用是利用Color下的FromArgb方法來設(shè)置RGB顏色參數(shù),在RGB顏色系統(tǒng)中,R代表紅色,G代表綠色,B代表藍(lán)色,根據(jù)這三種顏色的不同程度的調(diào)和,就會(huì)得到不同的顏色,如果您要得到深色的天藍(lán)色,則可以設(shè)置FromArgb(0, 191, 255),這個(gè)顏色轉(zhuǎn)換為HTML中的RGB顏色就是#00BFFF。
當(dāng)然顏色還原最好是寫在MouseUp事件里面,這樣就不必在單擊其他按鈕時(shí)來還原上一次按下的按鈕的顏色,在這里,為了方便描述,我們假設(shè)按鈕的默認(rèn)顏色為白色,也就是FromArgb方法設(shè)置為FromArgb(255, 255, 255)的時(shí)候,所標(biāo)示的顏色就是白色
所以選擇了RedColor按鈕的MouseUp事件后,Visual Studio會(huì)自動(dòng)生成下列代碼:
Private Sub RedColor_MouseUp(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles RedColor.MouseUp
End Sub
MouseUp的含義是當(dāng)鼠標(biāo)彈起時(shí)發(fā)生,所以在這個(gè)事件就可以設(shè)置按鈕顏色的還原,即添加下列代碼來實(shí)現(xiàn):
RedColor.BackColor = Color.FromArgb(255, 255, 255)
當(dāng)然,這就編寫好了一個(gè)按鈕按下時(shí)變色,回彈時(shí)還原的功能,至于另外一個(gè)按鈕的功能,這與這個(gè)按鈕的功能一樣,只是代碼有一些細(xì)微的差別而已,假設(shè)這個(gè)按鈕的Name屬性的屬性值為BlueColor,相應(yīng)的代碼對(duì)應(yīng)如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(0, 0, 255) '藍(lán)色的FromArgb
End Sub
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
另外,為了避免代碼的冗余,可以將RedColor和BlueColor的MouseUp事件進(jìn)行合并,這合并后的代碼如下:
Private Sub BlueColor_MouseDown(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BlueColor.MouseDown, RedColor.MouseUp
BlueColor.BackColor = Color.FromArgb(255, 255, 255)
RedColor.BackColor = Color.FromArgb(255, 255, 255)
End Sub
當(dāng)然,這個(gè)你只要分析了控件事件代碼的基本結(jié)構(gòu),一切就一目了然了,控件事件代碼的基本結(jié)構(gòu)如下:
[作用域] Sub 事件名([參數(shù)列表]) Handles 控件事件1 [, 控件事件2, 控件事件3...]
[事件代碼區(qū)域]
End Sub
如果此回答對(duì)您有幫助,別忘了采納哦,如果沒有解決您的問題,您可以在互聯(lián)網(wǎng)上尋找更多關(guān)于此問題的解決方案,謝謝!