WPF模拟UI键盘录入.doc_第1页
WPF模拟UI键盘录入.doc_第2页
WPF模拟UI键盘录入.doc_第3页
WPF模拟UI键盘录入.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WPF 模拟 UI 键盘录入WPF 模拟 UI 键盘录入开发 WinForm应用程序时可以利用SendKeys 类方便的模拟键盘录入操作。那么在WPF 中如何为控件实现键盘模拟呢?本篇将使用WPFSendKeys 实现和 WinForm中相同的效果。首先将 WpfSendKeys.dll加入到项目References 中,在 XAML 中加入两个 Textbox 和一个 Button 如下代码。<Window x:Class=WpKeyboard.MainWindowxmlns=ationxmlns:x=Title=MainWindow Loaded=Window_LoadedKeyDo

2、wn=Window_KeyDownx:Name=mainWin Height=350 Width=525> <Grid><TextBox x:Name=tb1 FontSize=50Margin=73,12,84,218 /><TextBox x:Name=tb2 FontSize=50Margin=73,119,84,117 /><Button x:Name=btn Content=Auto Click andChange Font ColorClick=btn_ClickMargin=73,229,84,36 /></Grid&g

3、t;</Window>打开 C#程序,添加System.Windows.Input.Test命名空间。定义SendToUIThread方法用于将键盘指令发送到WPF 控件上。在Window_Loaded中通过调用SendToUIThread 方法向Textbox 中逐一写入 Hello World!字符,并对字符进行拷贝,最后实现自动点击Button完成更换字体颜色的操作。其中字符串拷贝工作是通过判断模拟键盘输入的内容为Control+C ,即将字符串拷贝到第二个System;using System.Threading;using System.Windows;using Sys

4、tem.Windows.Input;using System.Windows.Input.Test;using System.Windows.Media;Textbox中。usingusing System.Windows.Threading;namespace WpKeyboard/ <summary>/ Interaction logic for MainWindow.xaml/ </summary>public partial class MainWindow : Windowpublic MainWindow()InitializeComponent();pri

5、vate void SendToUIThread(UIElementelement, string text)element.Dispatcher.BeginInvoke(new Action() => SendKeys.Send(element, text); ), DispatcherPriority.Input);RoutedEventArgs e)private void btn_Click(object sender,tb1.Foreground = newSolidColorBrush(Colors.Red);tb2.Foreground = newSolidColorBru

6、sh(Colors.Blue);private void Window_Loaded(objectsender, RoutedEventArgs e)ThreadPool.QueueUserWorkItem(_ =>Thread.Sleep(3000);SendToUIThread(tb1, Hello);Thread.Sleep(1000);SendToUIThread(tb1, W);Thread.Sleep(1000);SendToUIThread(tb1, o);Thread.Sleep(1000);SendToUIThread(tb1, r);Thread.Sleep(1000);SendToUIThread(tb1, ld!);Thread.Sleep(1000);SendToUIThread(mainWin, c);Thread.Sleep(1000);SendToUIThread(btn, ENTER););private void Window_KeyDown(objectsender, KeyEventArgs e)if(e.KeyboardDevice.Modifiers.HasFlag(Modifier

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论