日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#键盘事件处理

發布時間:2024/9/20 C# 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#键盘事件处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果你希望用戶按F1彈出chm幫助,代碼如下:
private?void?FrmMain_Load(object?sender,?EventArgs?e)
{
????this.KeyPreview?=?true;//獲取或設置一個值,該值指示在將鍵事件傳遞到具有焦點的控件前,窗體是否將接收此鍵事件。
}

private?void?FrmMain_KeyUp(object?sender,?KeyEventArgs?e)
{
????if?(Keys.F1?==?e.KeyCode)

? ? {
? ? ? ? //MessageBox.Show("您所按動的鍵是:"?+?e.KeyCode.ToString());
? ? ? ??Help.ShowHelp(this,@"C:\Users\HongYe\Desktop\RevitAPI.chm");
? ? }
}

鍵盤事件是在用戶按下鍵盤上的一個鍵的時候發生的,可分為兩類。第一類是KeyPress事件,當按下的鍵表示的是一個ASCII字符的時候就會觸發這類事件,可通過他的KeyPressEventArgs類型參數的屬性KeyChar來確定按下的鍵的ASCII。使用KeyPress時間無法判斷是否按下了修改鍵(Shift,AltCtrl),為了判斷這些動作,就要處理KeyUp?KeyDown事件,這些時間組成了第二類事件。該類事件有一個KeyEventsArgs類型參數,通過該參數可以測試是否按下了一些修改鍵。

1.?????? KeyPressEventArgs類的主屬性(KeyPress事件的一個參數類型)
1.Handle屬性:用來獲取或設置一個值,該值指示是否處理過KeyPress事件。
2.KeyChar屬性:用來獲取按下的鍵對應的字符,通常是該鍵的ASCII瑪(返回的是鍵盤的值,如按‘K‘返回就是K)。

2KeyEventArgs類的主屬性(KeyUpKeyDown事件的一個參數)
1.Alt屬性:用來獲取一個值,該值提示是否曾按下了Alt
2.Control屬性:用來獲取一個值,該值提示是否曾按下了Crtl
3.Shift屬性:用來獲取一個值,該值提示是否曾按下了Shift
4.Handle屬性:用來獲取一個值,該值提示是否曾處理過此事件
5.KeyCode屬性:以Keys枚舉值返回鍵盤鍵的鍵碼,該屬性不包含修改鍵信息,用于測試指定的鍵盤鍵
6.KeyData屬性:以Keys枚舉值返回鍵盤鍵的鍵碼,該屬性包含修改鍵信息,用于判斷按下鍵的所有信息(可返回組合鍵)
7.KeyValue屬性:以整數形式返回鍵碼,而不是Keys枚舉類型值。用于獲得所按下鍵的數字表示
8.Modifiers屬性:以Keys枚舉值返回所按下的修改鍵,僅判斷修改鍵的信息

3.如何在C#程序中定義這些事件:
  C#中描述"KeyDown"、"KeyUp"的事件的Delegate是"KeyEventHandler"。而描述"KeyPress"所用的Delegate是"KeyPressEventHandler"。這二個Delegate都被封裝在命名空"Syetem.Windows.Froms"中。為"KeyDown"、"KeyUp"的事件提供數據的類是"KeyEventArgs"。而為"KeyPress"事件提供數據的類是"KeyPressEventArgs"。同樣這二者也被封裝在命名空間"Syetem.Windows.Froms"中。

  在C#程序定義"KeyDown"、"KeyUp"事件的語法如下:
"組件名稱"."事件名稱"+= new Syetem.Windows.Froms. KeyEventHandler("事件名稱");

  下面是程序中具體實現代碼:
button1. KeyUp += new Syetem.Windows.Froms. KeyEventHandler(button1_KUp);

  下面是響應上面事件的基本結構。
private void button1_KUp ( object sender , Syetem.Windows.Froms. KeyEventArgs e )
{
此處加入響應此事件的代碼
}

  在C#程序定義"KeyPress"事件的語法如下:
"組件名稱"."事件名稱"+= new Syetem.Windows.Froms. KeyPressEventHandler("事件名稱");

  下面是程序中具體實現代碼:
button1. KeyPress += new Syetem.Windows.Froms. KeyPressEventArgs(button1_KPress);

  在完成了事件的定義以后,就要在程序中加入響應此事件的代碼,否則程序編譯的時候會報錯。下面是響應上面事件的基本結構。
private void button1_KPress ( object sender , Syetem.Windows.Froms. KeyPressEventArgs e )
{
此處加入響應此事件的代碼
}?
注釋:程序中出現的"button1"是定義的一個按鈕組件。

例子:
?? private void Form1_KeyUp(object sender, KeyEventArgs e)
?? {
??? MessageBox.Show("您所按動的鍵是:"+e.KeyCode.ToString());
?? }
url:http://greatverve.cnblogs.com/archive/2012/05/15/KeyCode.html

總結

以上是生活随笔為你收集整理的C#键盘事件处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。