解決C#中取消方向鍵對控件焦點控制的實現(xiàn)方法
更新時間:2013年05月20日 09:28:38 作者:
本篇文章是對C#中取消方向鍵對控件焦點控制的解決方法進行了詳細的分析介紹,需要的朋友參考下
在C# winform 應用程序中,對于鍵盤響應事件,經常使用到"KeyPress"、“KeyUp”、"KeyDown"事件,可以處理某個按鍵的自定義處理事件。有時想定義方向鍵的自定義處理事件時,你可以發(fā)現(xiàn),雖然自定義的處理事件發(fā)生了響應,但是也可以看到,按下方向鍵時,發(fā)現(xiàn)窗體上控件的焦點也發(fā)生了切換。而這種結果不是我們想要的,我們不想按下方向鍵時,控件的焦點發(fā)生切換,只想響應我們自定義的處理函數(shù)即可。下面的方法可以取消方向鍵對控件焦點的控制:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)//取消方向鍵對控件的焦點的控件,用自己自定義的函數(shù)處理各個方向鍵的處理函數(shù)
{
switch (keyData)
{
case Keys.Up:
UpKey();
return true;//不繼續(xù)處理
case Keys.Down:
DownKey();
return true;
case Keys.Left:
LeftKey();
return true;
case Keys.Right:
RightKey();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
UpKey()、DownKey()、LeftKey()、RightKey()分別是自定義的各個方向鍵的處理函數(shù)。在各個自定義處理函數(shù)之后使用return true 表示對按鍵的響應不繼續(xù)處理,直接返回,這樣就可以避免了方向鍵對控件焦點的控制。對于其他的按鍵,return base.ProcessCmdKey(ref msg, keyData);使用默認的處理。
復制代碼 代碼如下:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)//取消方向鍵對控件的焦點的控件,用自己自定義的函數(shù)處理各個方向鍵的處理函數(shù)
{
switch (keyData)
{
case Keys.Up:
UpKey();
return true;//不繼續(xù)處理
case Keys.Down:
DownKey();
return true;
case Keys.Left:
LeftKey();
return true;
case Keys.Right:
RightKey();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
UpKey()、DownKey()、LeftKey()、RightKey()分別是自定義的各個方向鍵的處理函數(shù)。在各個自定義處理函數(shù)之后使用return true 表示對按鍵的響應不繼續(xù)處理,直接返回,這樣就可以避免了方向鍵對控件焦點的控制。對于其他的按鍵,return base.ProcessCmdKey(ref msg, keyData);使用默認的處理。
您可能感興趣的文章:
- C# WINFORM 強制讓窗體獲得焦點的方法代碼
- C#,winform,ShowDialog,子窗體向父窗體傳值
- C#設置子窗體在主窗體中居中顯示解決方案
- C#窗體編程不顯示最小化、最大化、關閉按鈕的方法
- C# 開發(fā)圓角控件(窗體)的具體實現(xiàn)
- C#實現(xiàn)讓窗體永遠在窗體最前面顯示的實例
- 用 C# Winform做出全透明的磨砂玻璃窗體效果代碼
- C# Winform實現(xiàn)捕獲窗體最小化、最大化、關閉按鈕事件的方法
- c# winform 關閉窗體時同時結束線程實現(xiàn)思路
- C# SkinEngine控件 給窗體添加皮膚的方法
- C#最簡單的關閉子窗體更新父窗體的實現(xiàn)方法
- C#實現(xiàn)讓窗體獲得焦點的方法示例
相關文章
C#使用Gembox.SpreadSheet向Excel寫入數(shù)據及圖表的實例
下面小編就為大家分享一篇C#使用Gembox.SpreadSheet向Excel寫入數(shù)據及圖表的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12C# DataGridView中實現(xiàn)勾選存儲數(shù)據和右鍵刪除數(shù)據(示例代碼)
這篇文章主要介紹了C# DataGridView中實現(xiàn)勾選存儲數(shù)據和右鍵刪除數(shù)據的示例代碼,通過示例代碼給大家展示運行效果圖,需要的朋友可以參考下2021-07-07