在 C# 中模拟按键
本文演示了一种在 C# 中模拟按键的快速而直接的方法。
在测试期间,你可能需要将一系列按下的按钮(击键)传输到所选对象 - 控件或窗口。你可以通过将键代码传输到所选控件或窗口来模拟来自关键字测试和脚本的击键。
在 C# 中创建表单应用程序
首先,在 Visual Studio 中创建一个新的 Windows 窗体应用程序。
打开你的 .cs
设计文件并创建一个名为 numberLabel
的标签,并为其分配一些可以是 "Text To Be Displayed"
的文本,将其对齐设置为 Middle Center 以看起来干净。
让我们创建 numPadButton
和 alphabetButton
,并将 "Click Me"
文本添加到两个按钮。双击你的 numPadButton
,它将导航到 numPadButton_Click
功能。
在此函数中,将一些文本分配给 numberLabel
。一旦我们要分配的键被按下,这个文本就会出现。
private void numPadButton_Click(object sender, EventArgs e) {
numberLabel.Text = "Numpad Button 0 Pressed";
}
使用 alphabetButton
执行相同的步骤。在 alphabetButton_Click
函数中,为 numberLabel
分配一些不同的文本,因为该文本将显示在按下的不同键上。
private void alphabetButton_Click(object sender, EventArgs e) {
numberLabel.Text = "Enter Pressed";
}
我们需要为我们的表单启用 KeyPreview
功能,以确定键盘事件是否注册到表单中。因此,单击整个表单,然后从右侧的属性面板中,将 KeyPreview
值设置为 true。
然后,我们需要一个 KeyDown
事件来识别和处理按键事件,要添加它,请转到属性面板并打开带有闪电符号的事件选项卡。向下滚动到 KeyDown
事件并双击它。
它将创建一个 Form1_KeyDown()
方法并将你导航到该方法。这个方法有两个参数,一个 object
类型的 sender
和一个 KeyEventArgs
类型的事件 e
。
private void Form1_KeyDown(object sender, KeyEventArgs e) {}
现在我们必须使用按钮点击来模拟按下某个键。该函数将接收按下的键,我们将验证接收到的键是否为 NumPad0
,然后单击 numPadButton
。
if (e.KeyCode == Keys.NumPad0) {
numPadButton.PerformClick();
}
使用 alphabetButton
,我们需要遵循相同的过程。因此,从事件选项卡中,双击 KeyUp
事件,并在 Form1_KeyUp()
函数中,检查接收到的键是否为 Enter,然后执行单击 alphabetButton
。
using System;
namespace SimulateKeyPress {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void numPadButton_Click(object sender, EventArgs e) {
numberLabel.Text = "Numpad Button 0 Pressed";
}
private void alphabetButton_Click(object sender, EventArgs e) {
numberLabel.Text = "Enter Pressed";
}
private void Form1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.NumPad0) {
numPadButton.PerformClick();
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.Enter) {
alphabetButton.PerformClick();
}
}
private void numberLabel_Click(object sender, EventArgs e) {}
}
}
相关文章
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:198 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:171 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中将 List<string>转换为字符串
发布时间:2024/03/16 浏览次数:187 分类:编程语言
-
在 C# 中,有两种主要方法可用于将 List
转换为字符串变量,Linq 方法和 String.Join()函数。
在 C# 中发出 HTTP POST Web 请求
发布时间:2024/02/04 浏览次数:131 分类:编程语言
-
在 C# 中,可以使用 3 种主要方法来发出 HTTP POST Web 请求:WebClient 类,HttpWebRequest 类和 HttpClient 类。本教程将讨论在 C# 中发出 HTTP POST Web 请求的方法。使用 C# 中的 WebClient 类发出 HTTP POST Web 请求
在 C# 中运行命令提示符命令
发布时间:2024/02/04 浏览次数:130 分类:编程语言
-
Process 类可用于在 C# 中运行命令提示符命令。在 C# 中使用 Process.Start() 函数运行命令提示符命令
在 C# 中调整图像大小
发布时间:2024/02/04 浏览次数:203 分类:编程语言
-
有两种主要方法可用于在 C# 中调整图像的大小,Bitmap 类构造函数和 graphics.DrawImage()函数。在本教程中,我们将讨论在C#中调整图像大小的方法。我们将带您完成整个过程,从加载原始图像到保
在 C# 中下载图片
发布时间:2024/02/04 浏览次数:138 分类:编程语言
-
有 3 种主要方法可用于下载 C# 中的图片,WebClient.DownloadFile()函数,Bitmap 类和 Image.FromStream()函数。在 C# 中使用 WebClient 类下载图片 WebClient 类提供了用于向 C# 中的 URL 发送数据和从 URL 接收数据
在 C# 中使用秒表
发布时间:2024/02/04 浏览次数:139 分类:编程语言
-
我们可以使用 Stopwatch 类来计算 C# 中的经过时间。使用 C# 中的秒表类计算经过时间 Stopwatch 类在 C# 中准确测量经过的时间。
在 C# 中获取可执行路径
发布时间:2024/02/04 浏览次数:200 分类:编程语言
-
有 3 种主要方法可用于获取 C# 中程序的可执行路径,即 Assembly 类,AppDomain 类和 Path 类。本教程将介绍获取 C# 代码的可执行路径的方法。使用 C# 中的 Assembly 类获取可执行路径