開發winform 應用程式時可以利用sendkeys 類方便的模擬鍵盤錄入操作。那麼在wpf 中如何為控制項實現鍵盤模擬呢?本篇將使用wpf sendkeys 實現和winform 中相同的效果。
首先將wpfsendkeys.dll 加入到專案references 中,在xaml 中加入兩個textbox 和乙個button 如下**。
<開啟c#程式,新增system.windows.input.test 命名空間。定義sendtouithread 方法用於將鍵盤指令傳送到wpf 控制項上。在window_loaded 中通過呼叫sendtouithread 方法向textbox 中逐一寫入"hello world!" 字元,並對字元進行拷貝,最後實現自動點選button 完成更換字型顏色的操作。其中字串拷貝工作是通過判斷模擬鍵盤輸入的內容為"control+c",即將字串拷貝到第二個textbox 中。window x:
class
="wpkeyboard.mainwindow"
xmlns
=""xmlns:x
=""title
="mainwindow"
loaded
="window_loaded"
keydown
="window_keydown"
x:name
="mainwin"
height
="350"
width
="525">
<
grid
>
<
textbox x:
name
="tb1"
fontsize
="50"
margin
="73,12,84,218" />
<
textbox x:
name
="tb2"
fontsize
="50"
margin
="73,119,84,117" />
<
button x:
name
="btn"
content
="auto click and change font color"
click
="btn_click"
margin
="73,229,84,36" />
grid
>
window
>
using system;程式執行後無需點選任何按鍵,程式自動完成圖中操作。using system.threading;
using system.windows;
using system.windows.input;
using system.windows.input.test;
using system.windows.media;
using system.windows.threading;
namespace wpkeyboard
private void sendtouithread(uielement element, string text)
),dispatcherpriority.input);}
private void btn_click(object sender, routedeventargs e)
private void window_loaded(object sender, routedeventargs e)
");});
}private void window_keydown(object sender, keyeventargs e)}}
}
C 拓展練習之模擬鍵盤錄入
摘自 31天學會crm專案開發 使用c 呼叫windows api使程式模擬鍵盤輸入,也可模擬按下快捷鍵。本例中,單擊 模擬輸入 按鈕,可錄入字元 abcde123456 單擊 ctrl v 按鈕可實現貼上功能,效果如圖16 2所示。主要開發步驟如下 1 引用windows api函式keybd e...
文字框模擬鍵盤輸入 WPF
title wpf模擬鍵盤輸入相關問題 author kagula date 2015 11 02 允許textbox輸入中文 ime on,預設狀態 禁止textbox輸入中文 ime off inputmethod.isinputmethodenabled false 指定預設輸入法為中文 im...
WPF非同步更新UI
因為你在乙個非ui執行緒裡開啟了乙個ui執行緒,所有需要用dispatcher.invokeasync,切換到ui執行緒 詳細的解釋 我們需要通過訪問window.dispatcher屬性,然後呼叫invoke方法 僅此而已 好吧,那麼到底什麼是dispatcher呢?從字面上來說,它是所謂的接線員...