第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

.NET中的KeyDown和KeyPress有什么區(qū)別?

.NET中的KeyDown和KeyPress有什么區(qū)別?

慕田峪4524236 2019-10-05 14:51:15
中的KeyDown和KeyPress事件有.net什么區(qū)別?
查看完整描述

4 回答

?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊

顯然對(duì)此有很多誤解!


KeyDown和之間的唯一實(shí)際區(qū)別KeyPress是KeyPress中繼按鍵產(chǎn)生的字符,并且只有在有按鍵時(shí)才調(diào)用。


換句話說(shuō),如果您按下A鍵盤,則會(huì)得到以下事件序列:


KeyDown:KeyCode = Keys.A,KeyData = Keys.A,修飾符= Keys.None

KeyPress:KeyChar ='a'

KeyUp:KeyCode = Keys.A

但是,如果按Shift+ A,您將得到:


KeyDown:KeyCode = Keys.ShiftKey,KeyData = Keys.ShiftKey,Shift,修飾符= Keys.Shift

KeyDown:KeyCode = Keys.A,KeyData = Keys.A | Keys.Shift,修飾符= Keys.Shift

KeyPress:KeyChar ='A'

KeyUp:KeyCode = Keys.A

KeyUp:KeyCode = Keys.ShiftKey

如果按住鍵一會(huì),您將得到類似以下內(nèi)容的信息:


KeyDown:KeyCode = Keys.ShiftKey,KeyData = Keys.ShiftKey,Shift,修飾符= Keys.Shift

KeyDown:KeyCode = Keys.ShiftKey,KeyData = Keys.ShiftKey,Shift,修飾符= Keys.Shift

KeyDown:KeyCode = Keys.ShiftKey,KeyData = Keys.ShiftKey,Shift,修飾符= Keys.Shift

KeyDown:KeyCode = Keys.ShiftKey,KeyData = Keys.ShiftKey,Shift,修飾符= Keys.Shift

KeyDown:KeyCode = Keys.ShiftKey,KeyData = Keys.ShiftKey,Shift,修飾符= Keys.Shift

KeyDown:KeyCode = Keys.A,KeyData = Keys.A | Keys.Shift,修飾符= Keys.Shift

KeyPress:KeyChar ='A'

KeyDown:KeyCode = Keys.A,KeyData = Keys.A | Keys.Shift,修飾符= Keys.Shift

KeyPress:KeyChar ='A'

KeyDown:KeyCode = Keys.A,KeyData = Keys.A | Keys.Shift,修飾符= Keys.Shift

KeyPress:KeyChar ='A'

KeyDown:KeyCode = Keys.A,KeyData = Keys.A | Keys.Shift,修飾符= Keys.Shift

KeyPress:KeyChar ='A'

KeyDown:KeyCode = Keys.A,KeyData = Keys.A | Keys.Shift,修飾符= Keys.Shift

KeyPress:KeyChar ='A'

KeyUp:KeyCode = Keys.A

KeyUp:KeyCode = Keys.ShiftKey

請(qǐng)注意,它KeyPress發(fā)生在 KeyDown和之間KeyUp,而不是后面KeyUp,正如許多其他答案所述,KeyPress在不生成字符時(shí)不會(huì)調(diào)用,并且KeyDown在按住鍵時(shí)重復(fù)出現(xiàn),這與許多其他答案相反。


不會(huì)直接導(dǎo)致調(diào)用的鍵示例KeyPress:


Shift,Ctrl,Alt

F1 通過(guò) F12

方向鍵

確實(shí)會(huì)導(dǎo)致調(diào)用的鍵示例KeyPress:


A通過(guò)Z,0通過(guò)9等等。

Spacebar

Tab (KeyChar ='\ t',ASCII 9)

Enter (KeyChar ='\ r',ASCII 13)

Esc (KeyChar ='\ x1b',ASCII 27)

Backspace (KeyChar ='\ b',ASCII 8)

對(duì)于好奇,KeyDown大致關(guān)聯(lián)到WM_KEYDOWN,KeyPress到WM_CHAR和KeyUp到WM_KEYUP。 WM_KEYDOWN 可以調(diào)用的次數(shù)少于鍵重復(fù)的次數(shù),但是它會(huì)發(fā)送一個(gè)重復(fù)計(jì)數(shù),IIRC,WinForms會(huì)使用該計(jì)數(shù)來(lái)精確地生成每個(gè)重復(fù)的KeyDown。


查看完整回答
反對(duì) 回復(fù) 2019-10-05
?
翻過(guò)高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

KeyPress僅由可打印的字符觸發(fā),并在KeyDown事件后觸發(fā)。根據(jù)鍵入延遲設(shè)置,可以有多個(gè)KeyDown和KeyPress事件,但只有一個(gè)KeyUp事件。


KeyDown 

KeyPress 

KeyUp


查看完整回答
反對(duì) 回復(fù) 2019-10-05
?
蠱毒傳說(shuō)

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊

KeyPress比KeyDown(和KeyUp)具有更高的抽象級(jí)別。KeyDown和KeyUp與硬件相關(guān):鍵盤上按鍵的實(shí)際操作。KeyPress更是“我從鍵盤上收到了一個(gè)字符”。


查看完整回答
反對(duì) 回復(fù) 2019-10-05
  • 4 回答
  • 0 關(guān)注
  • 553 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)