vb.net的快捷键,vb菜单快捷键

vb.net怎么设置快捷键

新建一个Form1把Form1的KeyPreview改成True

创新互联建站主要从事网站制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务广宗,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

拖入一个Button1到Form1上面

然后加入以下代码

Private

Sub

Form1_KeyDown(sender

As

Object,

e

As

KeyEventArgs)

Handles

Me.KeyDown

If

e.KeyData

=

(Keys.Alt

Or

Keys.G)

Then

Button1.PerformClick()

'或者用Button1_Click(Nothing,

New

EventArgs)

'快捷键Alt+G触发Button1_Click()事件。

End

If

End

Sub

Private

Sub

Button1_Click(sender

As

Object,

e

As

EventArgs)

Handles

Button1.Click

Button1.Size

=

New

Size(180,

23)

Button1.Text

=

"我被局部快捷键给召唤了~"

End

Sub

vb.net,怎么做全局快捷键??

'vb全局快捷键是个大大滴难题,不好整。以下是个演示,办法比较笨,本人自用的,你试试。

'窗体放上控件:Command1、Label1、Check1、Check2、Text1、Text2、Timer1

'加入以下代码,运行,设置"确定"键的快捷键

'可选"CTRL+某键"或者"SHIFT+某键"

'"某键"自己设置,只能设置为字母或数字

Private Declare Function GetAsyncKeyState Lib "user32" _

(ByVal vKey As Long) As Integer 'API声明

Dim i

'================================================================

'这部分是设置各控件的大小、位置和初始属性,为了便于演示才加的,

'你可以自行设计好各控件的大小、位置和初始属性,无需这些代码。

Private Sub Form_Load()

Form1.Width = 2690: Form1.Height = 2100

Command1.Width = 1215: Command1.Height = 495

Command1.Top = 120: Command1.Left = 120

Command1.Caption = "确定"

Label1.Width = 2175: Label1.Height = 255

Label1.Top = 720: Label1.Left = 120

Label1.Caption = "设置 确定 键的快捷键:"

Check1.Width = 975: Check1.Height = 255

Check1.Top = 960: Check1.Left = 120

Check1.Caption = "CTRL +"

Check2.Width = 975: Check2.Height = 255

Check2.Top = 1320: Check2.Left = 120

Check2.Caption = "SHIFT +"

Text1.Width = 255: Text1.Height = 270

Text1.Top = 960: Text1.Left = 1080

Text1.Text = ""

Text2.Width = 255: Text2.Height = 270

Text2.Top = 1320: Text2.Left = 1080

Text2.Text = ""

Timer1.Interval = 10 'Timer的属性,必须设置

End Sub

'以上部分是设置各控件的大小、位置和初始属性,为了便于演示才加的,

'你可以自行设计好各控件的大小、位置和初始属性,无需这些代码。

'================================================================

Private Sub Timer1_Timer()

If Text1 "" Then

If Len(Text1) 1 Then Text1 = Left(Text1, 1)

If Asc("a") = Asc(Text1) And Asc(Text1) = Asc("z") _

Then Text1 = Chr(Asc(Text1) - 32)

If Check1.Value = 1 And GetAsyncKeyState(vbKeyControl) 0 _

And GetAsyncKeyState(Asc(Text1)) 0 Then

i = i + 1

If i = 1 Then Call Command1_Click

Else

i = 0

End If

End If

If Text2 "" Then

If Len(Text2) 1 Then Text2 = Left(Text2, 1)

If Asc("a") = Asc(Text2) And Asc(Text2) = Asc("z") _

Then Text2 = Chr(Asc(Text2) - 32)

If Check2.Value = 1 And GetAsyncKeyState(vbKeyShift) 0 _

And GetAsyncKeyState(Asc(Text2)) 0 Then

i = i + 1

If i = 1 Then Call Command1_Click

Else

i = 0

End If

End If

End Sub

Private Sub Command1_Click()

print "你好"

SendKeys "你好"

End Sub

vb.net 全局热键

见下面的代码

Public Class Form1

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

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

'注册全局热键 

RegisterHotKey(Handle, 0, 0, Keys.F4)

'第3个参数意义: 0=nothing 1 -alt 2-ctrl 3-ctrl+alt 4-shift 5-alt+shift 6-ctrl+shift 7-ctrl+shift+alt

End Sub

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

UnRegisterHotKey(Handle, 0)

End Sub

Protected Overrides Sub WndProc(ByRef m As Message)

If m.Msg = 786 Then

Me.Activate()

End If

MyBase.WndProc(m)

End Sub

End Class


当前标题:vb.net的快捷键,vb菜单快捷键
浏览路径:http://scjbc.cn/article/hcjech.html

其他资讯