看了很多這方便的解決方案,很多都是一大段代碼,版本也有差別,既然有可能別人用得起我也用不起。
目前創(chuàng)新互聯(lián)建站已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、南康網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
我用一種最簡單的方法,只要思路對(duì)所有人都能用得起。
其實(shí)非常簡單,就是獲取鍵值,Ctrl+Enter的健值是10,是不是思路一下就通了。以下是源碼:
Private Sub 聊天輸入框_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles 聊天輸入框.KeyPress
If Asc(e.KeyChar) = 發(fā)送快捷鍵值 Then
發(fā)送消息過程()
End If
End Sub
源內(nèi)容出處:
不清楚熱鍵和快捷鍵是什么區(qū)別
1.如果你是指Chrl+S這樣的快捷鍵,可以設(shè)置ShortCutKeys屬性,屬性窗口就有可視化編輯器。
2.如果你是指"保存(S)",其中s有下劃線這樣的用Alt+字母來訪問的設(shè)置,應(yīng)該在菜單項(xiàng)的Text屬性中使用符號(hào)。符號(hào)后面的字母將被作為快速訪問字符,顯示的時(shí)候不會(huì)被顯示出來,而字母會(huì)自動(dòng)加上下劃線。比如"保存(s)"。
3.和選中標(biāo)記有關(guān)的屬性有兩個(gè)
CheckOnClick 在菜單項(xiàng)上單擊時(shí)是否改變Checked屬性
Checked 設(shè)置/獲取 菜單項(xiàng)是否被選中
4.設(shè)置菜單項(xiàng)的Enabled屬性為False
如果是用Alt組合健,最簡單的方法就是,在按鈕的Text屬性里加個(gè)符合,比如想用Alt+A來控制Button1的話,就在Button1的Text屬性上加一個(gè)A即可。比如Text屬性是“我是按鈕(A)”,如圖所示,那么在按下Alt+A就可以執(zhí)行Button1_Click命令了,呵呵
vb.net全局熱鍵無效可以解決。
讀取鍵盤操作時(shí)繞過了windows的消息機(jī)制,而使用DirectInput。需要注冊(cè)全局熱鍵。
因?yàn)榇绑w的焦點(diǎn)發(fā)生了轉(zhuǎn)移,當(dāng)焦點(diǎn)不在游戲人物操作的那個(gè)窗體的時(shí)候,是沒辦法向這個(gè)窗體發(fā)送模擬按鍵信息的。
直接設(shè)置貌似不行 可以在窗體的 KeyDown事件里面寫Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox("快捷鍵設(shè)置成功")
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.Shift And e.KeyCode = Keys.C Then
Button1_Click(sender, e)
End If
End Sub
End Class
見下面的代碼
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
'注冊(cè)全局熱鍵?
RegisterHotKey(Handle,?0,?0,?Keys.F4)
'第3個(gè)參數(shù)意義:?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
當(dāng)前標(biāo)題:vb.net組合熱鍵,vbs組合鍵
分享路徑:http://muchs.cn/article24/pheije.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、用戶體驗(yàn)、ChatGPT、網(wǎng)站排名、標(biāo)簽優(yōu)化、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)