windows mobile C# net3.5 如何捕捉Arrow的CheckBox的KeyDown事件?
你需要override IsInputKey事件,可是這個時間卻在.Net CF2中不支持。此路不通!
那么該如何做呢?
通過P/Invoke調用!
我是向來不喜歡C#的,搞來搞去,很多功能還是需要調用WIN32 API。所以,我們就利用LostFocus或者GetFocus事件發生時,
詢問鍵盤鍵狀態。就可以得到是否用戶按了Arrow key了。
?using System.Runtime.InteropServices;
[DllImport("Coredll.dll")]
private static extern short GetAsyncKeyState(int nVirtKey);
private void cbModify_LostFocus(object sender, EventArgs e)
{
if (GetAsyncKeyState(0x26) < 0)//press up key
{
}
if (GetAsyncKeyState(0x28) < 0)//press down key
{
}
}
這樣就實現了Panel中的CheckBox的KeyDown事件中捕捉Arrow。類似的,你也可以捕捉Tab,Enter鍵。
參考:http://blog.csdn.net/crazyerghb/article/details/2799837
轉載于:https://www.cnblogs.com/cntom/archive/2012/02/06/2339669.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的windows mobile C# net3.5 如何捕捉Arrow的CheckBox的KeyDown事件?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TCP的坚持定时器
- 下一篇: linux FTP服务器访问权限的问题