鍵盤和鼠標(biāo)事件課件_第1頁
鍵盤和鼠標(biāo)事件課件_第2頁
鍵盤和鼠標(biāo)事件課件_第3頁
鍵盤和鼠標(biāo)事件課件_第4頁
鍵盤和鼠標(biāo)事件課件_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第十章鍵盤和鼠標(biāo)事件目錄鍵盤事件KeyPress事件KeyDown事件KeyUp事件鼠標(biāo)事件MouseMove事件。MouseHover/MouseDown/MouseWheel事件MouseUp事件MouseLeave事件C#主要為用戶提供了三種鍵盤事件:按下某ASCII字符鍵時(shí)發(fā)生KeyPress事件按下任意鍵時(shí)發(fā)生KeyDown事件釋放鍵盤上任意鍵時(shí)發(fā)生KeyUp事件。

10.1.1KeyPress事件當(dāng)用戶按下又放開某個(gè)ASCII字符鍵時(shí),會(huì)引發(fā)當(dāng)前擁有焦點(diǎn)對(duì)象的KeyPress事件。10.1鍵盤事件2.KeyPress事件應(yīng)用實(shí)例【例10-1】設(shè)計(jì)一個(gè)ASCII碼查詢程序。用戶按下某一鍵后屏幕顯示該鍵名及對(duì)應(yīng)的ASCII碼。窗體Form1的KeyPress事件時(shí)代碼為:privatevoidForm1_KeyPress(objectsender,KeyPressEventArgse){//e.KeyChar返回用戶在鍵盤上按下的字符

switch(e.KeyChar){case(char)Keys.Back:label1.Text="退格鍵:"+(int)Keys.Back+"\n"+label1.Text;break;

case(char)Keys.Tab:label1.Text="Tab鍵:"+(int)Keys.Tab+"\n"+label1.Text;break;case(char)Keys.Enter:)

label1.Text="回車鍵(Enter):"+(int)Keys.Enter+"\n"+label1.Text;break;case(char)Keys.Space:label1.Text="空格鍵:"+(int)Keys.Space+"\n"+label1.Text;break;case(char)Keys.Escape:label1.Text="Esc鍵:"+(int)Keys.Escape+"\n"+label1.Text;break;default:label1.Text=e.KeyChar+":"+(int)e.KeyChar+"\n"+label1.Text;break;}}2.KeyDown和KeyUp事件應(yīng)用實(shí)例【例10-2】設(shè)計(jì)一個(gè)數(shù)字文本加密程序。當(dāng)用戶在文本框中輸入一個(gè)字母字符時(shí),程序自動(dòng)將其按一定的規(guī)律(算法)轉(zhuǎn)換成其他字符并顯示到文本框中,在標(biāo)簽控件中顯示原始字符。按〈BackSpace〉鍵可刪除光標(biāo)前一個(gè)字符,標(biāo)簽中的內(nèi)容隨之變化。按〈Enter〉鍵時(shí)顯示信息框,單擊【確定】按鈕結(jié)束程序運(yùn)行。若用戶按下〈Ctrl〉+〈Shift〉+〈End〉組合鍵,則直接結(jié)束程序運(yùn)行。

文本框textBox1的KeyDown事件代碼為:privatevoidtextBox1_KeyDown(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);

}

privatevoidtextBox1_KeyUp(objectsender,KeyEventArgse)

{//如果用戶按下的是〈Enter〉鍵if((int)e.KeyCode==(int)Keys.Enter)

{//如果用戶單擊了【確定】按鈕則結(jié)束程序運(yùn)行if(MessageBox.Show("您確實(shí)要退出程序嗎?","確認(rèn)退出",MessageBoxButtons.OKCancel,MessageBoxIcon.Information)==DialogResult.OK)this.Close();

}

}10.2.1鼠標(biāo)事件發(fā)生的順序當(dāng)用戶操作鼠標(biāo)時(shí),將觸發(fā)一些鼠標(biāo)事件。這些事件的發(fā)生順序如下:MouseEnter:當(dāng)鼠標(biāo)指針進(jìn)入控件時(shí)觸發(fā)的事件。MouseMove:當(dāng)鼠標(biāo)指針在控件上移動(dòng)時(shí)觸發(fā)的事件。MouseHover/MouseDown/MouseWheel:MouseHover事件當(dāng)鼠標(biāo)指針懸停在控件上時(shí)被觸發(fā);MouseDown事件在用戶按下鼠標(biāo)鍵時(shí)被觸發(fā);MouseWheel事件在撥動(dòng)鼠標(biāo)滾輪并且控件有焦點(diǎn)時(shí)被觸發(fā)。MouseUp:當(dāng)用戶在控件上按下的鼠標(biāo)鍵釋放時(shí)觸發(fā)。MouseLeave:當(dāng)鼠標(biāo)指針離開控件時(shí)觸發(fā)。10.2鼠標(biāo)事件

【例10-3】設(shè)計(jì)一個(gè)MouseDown事件的示例程序。程序啟動(dòng)后,當(dāng)用戶在窗體上單擊或雙擊右鍵或左鍵時(shí),屏幕上顯示用戶的操作,程序運(yùn)行結(jié)果下圖所示。10.2.2MouseDown和MouseUp事件

//判斷用戶連續(xù)按下并釋放了幾次鼠標(biāo)鍵

switch(e.Clicks){case1:str2="單";break;case2:str2="雙";break;}label1.Text="您"+str2+"擊了鼠標(biāo)"+str1+"鍵!";label1.Left=(this.Width-label1.Width)/2;}10.2.3MouseMove事件當(dāng)用戶在移動(dòng)鼠標(biāo)指針到控件上時(shí)觸發(fā)MouseMove事件,與該事件相關(guān)的事件還有MouesEnter和MouseLeave事件分別在鼠標(biāo)指針進(jìn)入控件和離開控件時(shí)發(fā)生?!纠?0-4】設(shè)計(jì)一個(gè)程序。要求將鼠標(biāo)指針指向和離開按鈕Button1時(shí),按鈕上顯示的圖片不同。當(dāng)鼠標(biāo)在窗體上移動(dòng)時(shí),標(biāo)簽中實(shí)時(shí)顯示當(dāng)前指針的坐標(biāo)值(X,Y)。MouseMove、MouseEnter和Mou

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論