Public Sub GenerateDynamiceButton()
目前成都創(chuàng)新互聯(lián)已為數(shù)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、鎮(zhèn)坪網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
'建立 坐標(biāo)位置的變數(shù), 方便一會(huì)兒安排 自動(dòng)生產(chǎn)的button 的位置
Dim y As Integer = 15
Dim x As Integer = 0
' 用for loop 來(lái)建立 這些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)
把窗體屬性中的AcceptButton屬性false改成你想快捷的那個(gè)BUTTON(按鈕)的NAME,這就OK了^_^自問(wèn)自答……
您好,這種方法可以通過(guò)按鈕的MouseDown和MouseUp事件來(lái)實(shí)現(xiàn),比如說(shuō),當(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
接下來(lái)就在當(dāng)前生成的代碼中寫入如下代碼:
RedColor.BackColor = Color.FromArgb(255, 0, 0)
這句代碼的作用是利用Color下的FromArgb方法來(lái)設(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í)來(lái)還原上一次按下的按鈕的顏色,在這里,為了方便描述,我們假設(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è)置按鈕顏色的還原,即添加下列代碼來(lái)實(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ì)您有幫助,別忘了采納哦,如果沒有解決您的問(wèn)題,您可以在互聯(lián)網(wǎng)上尋找更多關(guān)于此問(wèn)題的解決方案,謝謝!
Dim LngC1 As Color, LngC2 As Color
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Button1.BackColor = Color.Blue
Me.Button1.ForeColor = Color.Gold
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
LngC1 = Me.Button1.BackColor
LngC2 = Me.Button1.ForeColor
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Button1.BackColor = LngC1
Me.Button1.ForeColor = LngC2
End Sub