WPF 捕獲鍵盤輸入事件

2021-09-22 13:49:03 字數 1073 閱讀 6500

原文:

wpf 捕獲鍵盤輸入事件

最近修改的乙個需求要求捕獲鍵盤輸入的 text,包括各種標點符號。

最開始想到的是 previewkeydown 或者 previewkeyup 這樣的鍵盤事件。

但是這兩個事件的物件 keyeventargs 不夠用,得依靠判斷 key 來判斷輸入了什麼,然後再根據判斷寫死乙個相應鍵位的 text 來獲取資料。

如組合鍵獲取 乘號鍵 需要用到 shift + 8(數字鍵盤那的乘號鍵是 key.multiply ,而需要在主鍵盤位獲取則需要用到組合鍵)

1 

private

void window_previewkeydown(object

sender, keyeventargs e)

2 7 }

這種辦法既不友好且需要用到其他標點符號時還得另外加 if 條件,而且會發生 key 衝突的問題,如上你輸入完 乘號鍵 以後可能還會多加乙個「8」,由於 key.d8 的原因

隨後花了點時間找了下國外部落格,然後發現了這個文章(引用1),其實文章內的解決方案也能找到幾篇,但是不詳細一筆帶過。

這是我根據文章內寫的**

xaml:

1

<

window

x:class

="dome.mainwindow"

2xmlns

=""3xmlns:x

=""4previewtextinput

="window_previewtextinput"

5height

="400"

6width

="600"

7minwidth

="600"

>

8window

>

c#:

1

private

void window_previewtextinput(object

sender, textcompositioneventargs e)

2

引用

總結

Linux下使用Python捕獲鍵盤輸入

在linux下如何用python監控鍵盤記錄 思路在上篇已經說到如何使用python獲取 dev input目錄下event對應的裝置的名字。那麼我們可以知道裝置的名字,就可以通過名字知道哪些event對應的是鍵盤 可能不只乙個鍵盤 然後在 dev input 下的對應的event就是負責處理鍵盤輸...

文字框模擬鍵盤輸入 WPF

title wpf模擬鍵盤輸入相關問題 author kagula date 2015 11 02 允許textbox輸入中文 ime on,預設狀態 禁止textbox輸入中文 ime off inputmethod.isinputmethodenabled false 指定預設輸入法為中文 im...

終止鍵盤輸入

一 檔案 流和鍵盤輸入 1 檔案是一塊儲存資訊的儲存器區域。2 具有強大 靈活等特點的c語言具有許多用於開啟 讀 寫和關閉檔案的庫函式。在乙個級別上,可以使用宿主作業系統的基本檔案工具來處理檔案,這被稱為低階i o。c還以第二種級別處理檔案,稱為標準i o包。這包括建立於處理檔案的i o函式的標準模...