vb.net按鈕設計,vb程序設計窗口命令按鈕

vb.net 如何制作圖標按鈕 ?急急急!!在線等!

窗口邊框(FormBorderStyle)設為None,窗口(WindowState)設為Maximized,如果想讓窗口背景透明,將窗口背景顏色和TransparencyKey設為同一種顏色,按鈕用Label(標簽)代替,背景設為Transparent,邊框設為None,文字位置一般是下中,Label控件支持無邊框。

創新互聯2013年至今,先為金寨等服務建站,金寨等地企業,進行企業商務咨詢服務。為金寨企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

動感效果在鼠標事件(MouseDown按下,MouseUp抬起,MouseEnter進入,MouseLeave離開)更換指定的圖片;

添加timer控件還可以使用動畫

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Me.Label1.Refresh()

End Sub

快捷鍵用熱鍵

RegisterHotKey

函數功能:該函數定義一個系統范圍的熱鍵。

函數原型:BOOL RegisterHotKey(HWND hWnd,intid,UINT fsModifiers,UINT vk);

參數:

hWnd:接收熱鍵產生WM_HOTKEY消息的窗口句柄。若該參數NULL,傳遞給調用線程的WM_HOTKEY消息必須在消息循環中中進行處理。

id:定義熱鍵的標識符。調用線程中的其他熱鍵不能使用同樣的標識符。應用功能程序必須定義一個0X0000-0xBFFF范圍的值。一個共享的動態鏈接庫(DLL)必須定義一個0xC000-0xFFFF范圍的值伯GlobalAddAtom函數返回該范圍)。為了避免與其他動態鏈接庫定義的熱鍵沖突,一個DLL必須使用GlobalAddAtom函數獲得熱鍵的標識符。

fsModifoers:定義為了產生WM_HOTKEY消息而必須與由nVirtKey參數定義的鍵一起按下的鍵。該參數可以是如下值的組合:

MOD_ALT:按下的可以是任一Alt鍵。MOD_CONTROL:按下的可以是任一Ctrl鍵。

MOD_SHIFT:按下的可以是任一Shift鍵。

MOD_WIN:按下的可以是任一Windows按鍵。

vk:定義熱鍵的虛擬鍵碼。

返回值:若函數調用成功,返回一個非O值。若函數調用失敗,則返回值為0。若要獲得更多的錯誤信息,可以調用GetLastError函數。

備注:當某鍵被接下時,系統在所有的熱鍵中尋找匹配者。一旦找到一個匹配的熱鍵,系統將把WM_HOTKEY消息傳遞給登記了該熱鍵的線程的消息隊列。該消息被傳送到隊列頭部,因此它將在下一輪消息循環中被移去。該函數不能將熱鍵同其他線程創建的窗口關聯起來。

若為一熱鍵定義的擊鍵己被其他熱鍵所定義,則RegisterHotKey函數調用失敗。

若hWnd參數標識的窗口已用與id參數定義的相同的標識符登記了一個熱鍵,則參數fsModifiers和vk的新值將替代這些參數先前定義的值。

若設置MOD_KEYUP位,則當發生鍵被按下或被彈起的事件時,窗口將發送WM_HOTKEY消息。

RegisterHotKey可以被用來在線程之間登記熱鍵。

UnregisterHotKey

函數功能:該函數釋放調用線程先前登記的熱鍵。

函數原型:BOOL UnregisterHotKey(HWND hWnd,int id);

參數:

hWnd:與被釋放的熱鍵相關的窗口句柄。若熱鍵不與窗口相關,則該參數為NULL。

id:定義被釋放的熱鍵的標識符。

返回值:若函數調用成功,返回值不為0。若函數調用失敗,返回值為0。若要獲得更多的錯誤信息,可以調用GetLastError函數。

1、首先定義所需要用到的常量

如圖所示,在窗體代碼后定義常量和API函數

代碼如下:

Public Const WM_HOTKEY As Integer = H312

Public Const MOD_ALT As Integer = H1

Public Const MOD_CONTROL As Integer = H2

Public Const MOD_SHIFT As Integer = H4

Public Const GWL_WNDPROC As Integer = (-4)

Public Declare Auto Function RegisterHotKey Lib "user32.dll" Alias "RegisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Boolean

Public Declare Auto Function UnRegisterHotKey Lib "user32.dll" Alias "UnregisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer) As Boolean

下面過程是注冊Ctrl+T的組合鍵為組合鍵,假如注冊成功,則返回true,反之注冊失敗則返回false,我們可以根據返回的結果判斷并提醒用戶注冊的情況。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim isResult As Boolean

isResult=RegisterHotKey(Handle, 0, MOD_CONTROL, Asc("T")) ’注冊Ctrl+T的組合鍵

If isResult = False Then

MsgBox("注冊熱鍵Ctrl+T失敗")

End If

End Sub

[apge]

下面過程為重載WndProc過程,響應熱鍵并處理熱鍵,這里是用來隱藏和顯示程序主界面。

Protected Overrides Sub WndProc(ByRef m As Message)

If m.Msg = WM_HOTKEY Then

System.Diagnostics.Process.Start("C:\WINDOWS\system32\freecell.exe")'運行當空接龍游戲

End If

MyBase.WndProc(m)

End Sub

最后在關閉窗體的時候釋放占用的熱鍵,如果前面注冊失敗的話,則會出現釋放失敗的結果。

Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed

Dim isResult As Boolean

isResult=UnRegisterHotKey(Handle, 0)

End Sub

雙擊打開指定的程序

Private Sub Label1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.DoubleClick

System.Diagnostics.Process.Start("C:\WINDOWS\system32\freecell.exe")

End Sub

System.Diagnostics.Process.Start("路徑")打開指定程序

先列出這些吧

VB.net怎么制作一個可以拖動的button?

基本思路是在按鈕的 MouseMove 事件中檢測鼠標左鍵的狀態,如果是按下就跟著移動按鈕的位置。

vb.NET 生成按鈕

Public Sub GenerateDynamiceButton()

'建立 坐標位置的變數, 方便一會兒安排 自動生產的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

'設定這新的button 的闊度

MyButton.Width = 80

'設定這新的button 的高度

MyButton.Height = 20

'我們暫定每行有4個BUTTON, 當每行有多個4個BUTTON 時重設行距, 令到下一行的和這一行的距離有10 個PIXEL

' 和重設x 坐標` = 0, 令到位置由頭開始

If ButtonIndex Mod 4 = 0 Then

'設定 TOP 的 坐標位置令他可以和上一排的有10個PIXEL 的距離

y += MyButton.Height + 10

x = 0

End If

'設定文字 和 位置

' Set the text and set its top and left based on its dimensions and count

MyButton.Text = "My Button" ButtonIndex

'設定 TOP 的 坐標位置

MyButton.Top = y

'下面的CODE 可以令到這個BUTTON 和另一個BUTTON 有5個PIXEL 的距離

MyButton.Left = 26 + (x * (MyButton.Width + 5))

x += 1

'設定 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 一個自己button 的字的message

MsgBox(btn.Text)

vb.net 平面按鈕

本來有個屬性FlatStyle設置為Popup基本上能實現這個情況,怎奈有個線框怎么也弄不掉。FlatAppearance.BorderSize設置為0不起作用,只對Flat有用,所以用代碼在Flat和Popup兩種風格之間切換。

'在鼠標進入時設置為浮雕風格

Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter

Button1.FlatStyle = FlatStyle.Popup

End Sub

'離開時設置為平面風格,這樣像標簽一樣只剩下文字,當然要FlatAppearance.BorderSize設置為0

Private Sub Button1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave

Button1.FlatStyle = FlatStyle.Flat

End Sub

'另外把UseVisualStyleBackColor 設置為 False也會好看一點。

【vb.net/vb2012】怎么設置自定義按鈕?自己弄按鈕樣子的

有兩種

button的MouseEnter,MouseDown,MouseLeava的事件上寫相當的代碼(Button.BackColor=Color.Red)

自己做一個UserControl(用戶控件)

新聞標題:vb.net按鈕設計,vb程序設計窗口命令按鈕
URL分享:http://m.kartarina.com/article30/hddcso.html

成都網站建設公司_創新互聯,為您提供自適應網站網站營銷軟件開發外貿網站建設移動網站建設企業網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計
主站蜘蛛池模板: 91精品无码久久久久久五月天 | 国产丝袜无码一区二区视频| 国产a级理论片无码老男人| av无码久久久久久不卡网站| 永久免费AV无码网站国产| 亚洲av极品无码专区在线观看| 亚洲国产精品无码久久久| 无码精品前田一区二区| 亚洲中文无码亚洲人成影院| 无码人妻一区二区三区在线视频| 久久久久久久久免费看无码| 中文字幕AV无码一区二区三区 | 人妻老妇乱子伦精品无码专区| 91无码人妻精品一区二区三区L| 国产精品无码AV不卡| 精品久久久久久无码人妻中文字幕 | 一本色道无码道在线| 男人的天堂无码动漫AV| 久久久久亚洲精品无码蜜桃| 精品无码综合一区| 一本一道av中文字幕无码| 日本精品人妻无码免费大全| 久久精品无码一区二区无码| 国产a级理论片无码老男人| 国产麻豆天美果冻无码视频| AV无码免费永久在线观看| 日韩欧精品无码视频无删节 | 亚洲AV区无码字幕中文色| 免费人妻av无码专区| 日本精品人妻无码免费大全| 国产成人无码AV麻豆| 亚洲AV无码国产在丝袜线观看| 无码av中文一二三区| 无码任你躁久久久久久久 | 日韩精品无码免费专区午夜 | 免费无码国产V片在线观看| 亚洲最大av资源站无码av网址| 亚洲av极品无码专区在线观看| 精品无码免费专区毛片| 无码乱码av天堂一区二区| 免费A级毛片无码无遮挡内射|