1.
成都創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),登封網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:登封等地區(qū)。登封做網(wǎng)站價(jià)格咨詢:18980820575
窗體有一個(gè)屬性
pressview(在
雜項(xiàng)
的倒數(shù)第二個(gè))
;
2.
這個(gè)屬性可以指示:是否從窗體接收鍵盤的輸入
3.
將其設(shè)置為
true
,窗體就可以接受鍵盤事件了
4.
然后通過委托
或者
調(diào)用子控件里面的函數(shù)過程
就可以實(shí)現(xiàn)鍵盤事件參數(shù)的傳遞,完成你所需要的功能了!
5.
望采納~
長(zhǎng)按你可以用計(jì)時(shí)器來實(shí)現(xiàn)啊,寫個(gè)例子:
Private blCtrl As Boolean = False
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.LControlKey Then blCtrl = True
End Sub
Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
If e.KeyCode = Keys.LControlKey Then blCtrl = False
End Sub
然后你可以在計(jì)時(shí)器里檢測(cè)blCtrl的狀態(tài)來確定,不知道你的具體情況是什么樣的
總之是用一個(gè)布爾變量來記錄按鍵狀態(tài),配合計(jì)時(shí)器來達(dá)到你想要的功能
執(zhí)行鍵盤事件方法如下:
第一步,點(diǎn)擊VS工具。
第二步,打開后,新建一個(gè)Windows窗體應(yīng)用程序。
第三步,請(qǐng)看右下方Form的屬性欄。
第四步,雙擊KeyDown。
第五步,輸入提示按鍵代碼,如圖所示。
第六步,再次輸入代碼,設(shè)置屬性KeyPreview為true。
第七步,運(yùn)行程序,按下舉例F5,則會(huì)彈出提示,表明已經(jīng)成功獲。
VB中利用shell調(diào)用系統(tǒng)的軟鍵盤
以XP SP3為例:
Shell "C:\WINDOWS\system32\osk.exe",1
我現(xiàn)在沒有現(xiàn)成的代碼給你,不過可以給你一些建議。如果你想在同一進(jìn)程內(nèi)實(shí)現(xiàn)屏幕鍵盤,則你只需要再F2打開的時(shí)候,將F1的當(dāng)前焦點(diǎn)控件對(duì)象作為參數(shù),傳遞給F2窗體,在F2點(diǎn)擊屏幕控件時(shí),設(shè)置該“控件.Text = 鍵值” 即可,這種我稱之為假屏幕鍵盤。如果你想跨進(jìn)程實(shí)現(xiàn)屏幕鍵盤,就比較難些了(比如:你想用你的F2窗體上的按鍵,實(shí)現(xiàn)QQ聊天內(nèi)容的輸入、記事本內(nèi)容的輸入)。這個(gè)需要用到 “鍵盤鉤子”技術(shù),有關(guān)這方面的資料,你不妨自己找找。 另外,你提的F2焦點(diǎn)老處理不好,我認(rèn)為F2根本不需要焦點(diǎn)控件(不要用按鈕做控件,而實(shí)用Label或圖片就可以了。)
做一個(gè)textbox,放在窗體外,anchor設(shè)成top,
right,不要設(shè)置visible屬性和enabled屬性,要輸入的時(shí)候就textbox1.focus(),在textbox1的textchange事件里面畫圖
不好的地方在于每一次輸入都要先清空,你可以在圖片框的背景哪里設(shè)置圖片,在image里面繪制文字
it3241的辦法比我的更慢就是了