keypress:操作窗格具有焦點并按下某個鍵時發(fā)生,不能由非字符鍵引發(fā)
十余年的南寧網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整南寧建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“南寧網(wǎng)站設計”,“南寧網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
keydown:按下鍵盤按鍵時發(fā)生
keyup:鍵盤按鍵彈起時發(fā)生
以上事件觸發(fā)的時間不同,順序 down press up
keychar:按鍵對應的字符
keycode:獲取 KeyDown 或 KeyUp 事件的鍵盤代碼
char不能獲取 控制鍵如tab Insert delete 方向鍵等
怎么會捏,你是不是沒有加上mybase.keypress
正確的重寫步驟:新建一個Component-類下面一行寫上Inherits
TextBox-然后寫入:
Protected
Overrides
Sub
OnKeyPress(ByVal
e
As
System.Windows.Forms.KeyPressEventArgs)
MyBase.OnKeyPress(e)'這個東東是原來的keypress執(zhí)行的代碼,它會引發(fā)keypress事件
'-----這里寫代碼
End
Sub
定義兩個變量
Private run As Boolean = False'過程是否在運行
Private Key_L As Boolean = False'L鍵是否按下
變通方法:加定時器,要執(zhí)行的過程放在定時器中調用
keypress事件只檢測某個鍵是否按下
在家里沒有VS,引用我以前的例子給你,定義的是全局鍵盤,也就是在程序不激活的狀態(tài)也能執(zhí)行
下面是完整代碼: ----按下L鍵過程xx只會執(zhí)行一次,直到過程執(zhí)行完成才再次響應
Public Class Form1
Private run As Boolean = False
Private Key_L As Boolean = False
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, 7, Keys.C)
RegisterHotKey(Handle, 1, Nothing, Keys.L)
' 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)
UnRegisterHotKey(Handle, 1)
End Sub
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = 786 Then
If m.WParam.ToInt32 = 1 Then
Key_L = True
'MsgBox(m.Msg "我1")
ElseIf m.WParam.ToInt32 = 0 Then
MsgBox(m.Msg "我2")
End If
'TextBox1.Text = " " m.Msg
End If
MyBase.WndProc(m)
End Sub
Sub xx()
run = True
Button1.Enabled = False
For i = 0 To 100
TextBox1.Text = i.ToString
Threading.Thread.Sleep(1)
Application.DoEvents()
Next
Button1.Enabled = True
Key_L = False
run = False
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If run = True Then Exit Sub
If Key_L = True Then xx()
End Sub
End Class
當前題目:vb.netkey代碼 vb keychar
本文地址:http://redsoil1982.com.cn/article4/hpdcoe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計、網(wǎng)站設計公司、域名注冊、網(wǎng)站制作、企業(yè)建站、手機網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)