資源描述:
《《鍵盤和鼠標事》PPT課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第十章鍵盤和鼠標事件目錄鍵盤事件KeyPress事件KeyDown事件KeyUp事件鼠標事件MouseMove事件。MouseHover/MouseDown/MouseWheel事件MouseUp事件MouseLeave事件C#主要為用戶提供了三種鍵盤事件:按下某ASCII字符鍵時發(fā)生KeyPress事件按下任意鍵時發(fā)生KeyDown事件釋放鍵盤上任意鍵時發(fā)生KeyUp事件。10.1.1KeyPress事件當(dāng)用戶按下又放開某個ASCII字符鍵時,會引發(fā)當(dāng)前擁有焦點對象的KeyPress事件。10.1鍵盤事件1.判斷、處理
2、用戶按鍵通過KeyEventArgs類的返回參數(shù)可以判斷用戶按下的是哪個鍵。例如在窗體、文本框等控件的KeyPress事件過程中書寫類似如下代碼,可實現(xiàn)用戶按鍵的判斷。privatevoidForm1_KeyPress(objectsender,KeyPressEventArgse){if(e.KeyChar==(Char)Keys.Enter)label1.Text="你按下了〈Enter〉鍵";}2.KeyPress事件應(yīng)用實例【例10-1】設(shè)計一個ASCII碼查詢程序。用戶按下某一鍵后屏幕顯示該鍵名及對應(yīng)的ASCI
3、I碼。窗體Form1的KeyPress事件時代碼為:privatevoidForm1_KeyPress(objectsender,KeyPressEventArgse){//e.KeyChar返回用戶在鍵盤上按下的字符switch(e.KeyChar){case(char)Keys.Back:label1.Text="退格鍵:"+(int)Keys.Back+""+label1.Text;break;case(char)Keys.Tab:label1.Text="Tab鍵:"+(int)Keys.Tab+""+l
4、abel1.Text;break;case(char)Keys.Enter:)label1.Text="回車鍵(Enter):"+(int)Keys.Enter+""+label1.Text;break;case(char)Keys.Space:label1.Text="空格鍵:"+(int)Keys.Space+""+label1.Text;break;case(char)Keys.Escape:label1.Text="Esc鍵:"+(int)Keys.Escape+""+label1.Text;brea
5、k;default:label1.Text=e.KeyChar+":"+(int)e.KeyChar+""+label1.Text;break;}}10.1.2KeyDown和KeyUp事件KeyDown和KeyUp事件發(fā)生在用戶按下鍵盤上某鍵時,通??删帉懫涫录a以判斷用戶按鍵的情況。1.判斷、處理用戶按鍵當(dāng)用戶按下鍵盤上的任意鍵時,會引發(fā)當(dāng)前擁有焦點對象的KeyDown事件。用戶放開鍵盤上任意鍵時,會引發(fā)KeyUp事件。KeyDown和KeyUp事件通過e.KeyCode或e.KeyValue返回用戶按鍵對應(yīng)的
6、ASCII碼。2.KeyDown和KeyUp事件應(yīng)用實例【例10-2】設(shè)計一個數(shù)字文本加密程序。當(dāng)用戶在文本框中輸入一個字母字符時,程序自動將其按一定的規(guī)律(算法)轉(zhuǎn)換成其他字符并顯示到文本框中,在標簽控件中顯示原始字符。按〈BackSpace〉鍵可刪除光標前一個字符,標簽中的內(nèi)容隨之變化。按〈Enter〉鍵時顯示信息框,單擊【確定】按鈕結(jié)束程序運行。若用戶按下〈Ctrl〉+〈Shift〉+〈End〉組合鍵,則直接結(jié)束程序運行。文本框textBox1的KeyDown事件代碼為:privatevoidtextBox1_Ke
7、yDown(objectsender,KeyEventArgse){if(textBox1.Text=="")x="";elsex=textBox1.Text;if((e.KeyValue>=65&&e.KeyValue<=90)){if(e.KeyValue<90)//錄入大寫字母label1.Text+=(char)(e.KeyValue+32);}//如果按下的是〈BackSpace〉鍵,刪除標簽中最后一個字符elseif((int)e.KeyCode==(int)Keys.Back){if(label1.Text
8、[label1.Text.Length-1]==':‘)return;label1.Text=label1.Text.Remove(label1.Text.Length-1);}}}privatevoidtextBox1_KeyUp(objectsender,KeyEventArgse){//如果用戶按下的是〈Ent