Winform中處理Form響應方向鍵方法

2021-08-04 07:09:47 字數 482 閱讀 5967

在程式設計的過程中,一直沒用到過方向鍵作為快捷鍵,然後這次用的時候發現和以往的時候一樣寫完了之後winform並沒有響應方向鍵,通過除錯當按下方向鍵的時候壓根沒有觸發事件處理函式。form的keypreview屬性也設定為true了,很是納悶。通過檢視資料文件和網上的資料終於找到了原因和解決方法,與大家共同分享。

原因:方向鍵作為比較特殊的按鍵,屬於系統按鍵,預設作為form上控制項的焦點切換功能。然後方向鍵就被系統過濾掉了,沒有傳到form的按鍵處理函式中。

解決方法:重寫form的系統按鍵處理方法,當遇到方向鍵的話返回false,把按鍵交給form處理。請參考**。

///

/// 重寫系統key處理事件

//////

///protected

override

bool

processdialogkey(keys keydata) else

}

Winform 關閉Form而不銷毀Form的記憶體

在winform程式中有的時候需要暫時關閉視窗並在需要的時候再次調出原來關閉的這個視窗 即關閉的時候不銷毀該視窗的記憶體 實現方法如下 form.designer.cs中有如下方法 clean up any resources being used.true if managed resources...

winform節點處理

1 查詢乙個節點的所有子節點 借鑑 bool findnode treenode node private void findallnodes treenode basetreenode 呼叫 findallnodes treeview1.selectednode 2 遞迴通過某個value查詢節點...

Winform 快取處理

在對winform做的專案優化的時候,首先想到的是對查詢,並不經常變化的資料進行快取,但對web專案來說有system.web.caching.cache類進行快取,那麼winform端該如何呢?你可能會想到,存到檔案中,但那可能有問題,檔案操作許可權問題,io操作效能問題。針對exe的專案,可以使...