(1).如何在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 += mqlbgksnew 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"是定義的乙個按鈕元件。
((2).和鍵盤相關事件中的典型問題處理辦法:
和鍵盤相關的典型問題無非就是判定到底是哪個按鍵被按動。通過上面的三個事件都可以完成。並且在"keyeventargs"類中通過了乙個屬 性"keycode",可以用他來讀取當前按鍵。所以就在"keyup"或者"keydown"事件中處理這個問題。根據上面這些知識,可以得到用c#程式設計客棧編 寫讀取讀取按鍵的程式**,下面就是此**(key.cs)和此**執行後的介面:
圖02:用c#讀取鍵盤按鍵的程式執行介面
key.cs的**如下:
複製** **如下:
** using system ;
using system.drawing ;
using system.collections ;
using system.componentmodel ;
using system.windows.forms ;
using system.data ;
public class form1 : form
protected ovemqlbgksrride void dispose ( bool disposing ) }
base.dispose ( disposing ) ;
} private void initializecomponent (程式設計客棧 )
static void main ( )
file://顯示你所按動的按鍵名稱
private void form1_keyup ( object sender , keyeventargs e ) }
上面都是網上找的,我看了之後,自己試了很多次,按鍵沒反應......
後來才在書上找到,原來 要先把對應的form 的keypreview屬性設為true
c# codethis.keypreview=true;this.keydown+=newkeyeventhandler(frmnewbook_keydown);
}voidfrmnewbook_keydown(objectsender, keyeventargs e)
}本文位址:
C 中處理和鍵盤相關的事件
在c 中和鍵盤相關的事件相對比較少,大致就三種 keydown keyup 和 keypress 1 如何在c 程式中定義這些事件 c 中描述 keydown keyup 的事件的delegate是 keyeventhandler 而描述 keypress 所用的 delegate是 keypres...
深入分析C 中deque的使用
deque簡介 deque 即雙端佇列。deque,全名double ended queue 是一種具有佇列和棧的性質的資料結構。雙端佇列中的元素可以從兩端彈出,其限定插入和刪除操作在表的兩端進行。雙端佇列是限定插入和刪除操作在表的兩端進行的線性表。這兩端分別稱做端點1和端點2。也可像棧一樣,可以用...
深入分析C 中deque的使用
本篇文章介紹了,深入分析c 中deque的使用。需要的朋友參考下 首先,當考慮到記憶體分配和執行效能的時候,使用std deque要比std vector好。deque和vector一樣都是標準模板庫中的內容,deque是雙端佇列,在介面上和vector非常相似,在許多操作的地方可以直接替換。假如讀...