程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> C#學習筆記-KeyDown、KeyPress、KeyUp事件以及KeyCode、KeyData、KeyValue、KeyChar屬性,

C#學習筆記-KeyDown、KeyPress、KeyUp事件以及KeyCode、KeyData、KeyValue、KeyChar屬性,

編輯:關於.NET

C#學習筆記-KeyDown、KeyPress、KeyUp事件以及KeyCode、KeyData、KeyValue、KeyChar屬性,


本來沒打算單獨寫的,但是在自己弄測試小程序的時候,越寫發現不清楚的東西越多,所以實踐又一次證明:紙上得來終覺淺,絕知此事要躬行!

直接貼代碼了:

 1         //發生順序:KeyDown->KeyPress->KeyUp
 2         //所有的參數的各種信息都在Keys裡自帶=>自己查看
 3 
 4         //KeyCode、KeyData、KeyValue對於字母鍵只記錄大寫的值
 5         //沒有KeyChar
 6         //必須先將KeyPreview的屬性設置為true
 7         
 8         private void Form1_KeyDown(object sender, KeyEventArgs e)
 9         {
10             if (e.Alt && e.Control && e.KeyCode == Keys.F2) 
11             {
12                 MessageBox.Show("You press the Alt and Ctrl and F2 buttons!");
13             }
14             if (e.KeyData == Keys.Up) 
15             {
16                 MessageBox.Show("You press the Up buttons!");
17             }
18             if (e.KeyValue == 27) 
19             {
20                 MessageBox.Show("You press the Esc buttons!");
21             }
22             
23         }
24 
25         //只能返回一個字符的ASCII碼
26         //不能處理功能鍵、編輯鍵、組合鍵
27         //KeyChar能區分大小寫
28         //KeyChar字存在於KeyPress中
29         private void Form1_KeyPress(object sender, KeyPressEventArgs e)
30         {
31             if (e.KeyChar == 65)
32             {
33                 MessageBox.Show("You press the A buttons!");
34             }
35             if (e.KeyChar == 97)
36             {
37                 MessageBox.Show("You press the a buttons!");
38             }
39             //KeyChar是不區分數字是否在大小哪個鍵盤的
40             if (e.KeyChar == 48)
41             {
42                 MessageBox.Show("You press the 0 buttons!");
43             }
44         }
45 
46 
47         //沒有KeyChar
48         private void Form1_KeyUp(object sender, KeyEventArgs e)
49         {
50             //與KeyDown相似
51             //小鍵盤的數字0
52             if (e.KeyValue == 96)
53             {
54                 MessageBox.Show("You press the 0 buttons in keypad!");
55             }
56             //小鍵盤的數字0
57             if (e.KeyCode == Keys.NumPad0)
58             {
59                 MessageBox.Show("You press the 0 buttons in keypad!");
60             }
61             //主鍵盤的數字0
62             if (e.KeyCode == Keys.D0)
63             {
64                 MessageBox.Show("You press the 0 buttons in primary keyboard!");
65             }
66 
67         }

 另外:祝大家國慶節快樂!我也要去參加一起長大的哥哥的婚禮了啊......時間啊,就是這麼匆匆溜走不回頭的.......

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved