程序模拟按键,SendKeys发送空格

做了一个小程序,用按钮来模拟数字的输入,如下图

image

将10个按钮放在一个panel1中,名称分别是button1,button2,后面依次类推

下面的文本框名称为textBox1

我不知道想要解决的问题:当点击一个按钮时,就如同用户输入了一个数字,并在其后打了一个空格,比如我点击一下8,相当于在textBox1中输入了8,然后再跟一个空格.

分析:为panel1中的每一个按钮增加一个点击事件,并将按钮自身的文本赋值给textBox1,然后使用SendKeys发送一个空格.

中文MSDN上查了一下,发现并没有SendKeys发送空格的办法,还好有前辈发现了其实发送空格的办法在英文的MSDN上面有:http://msdn.microsoft.com/en-us/library/8c6yea83

 

 

private void 给10个按钮添加打字事件()
        {
            //遍历在panel1中的每一个控件,设置其Click事件的实现
            foreach (var item in panel1.Controls)
            {
                ((Button)item).Click += new EventHandler(测试_Click);
            }
        }

        void 测试_Click(object sender, EventArgs e)
        {
            textBox1.Text = ((Button)sender).Text;
            textBox1.Focus();//注意需要将焦点设置在文本框中,不然看不到效果
            SendKeys.Send(" ");
        }

 

这种使用foreach的办法来给每一个按钮设置事件比单独一个个的设置要方便的多,如果以后要增加按钮的数量,也不用更改这儿的程序,只要这个按钮在panel1里面!

一般来说SendKeys.Send()方法需要在里面加上一个按键的描述,空格比较特殊,直接键入,这反倒把人给弄糊涂了,比如

SendKeys.Send("{ENTER}");==>键入回车

SendKeys.Send("{BACKSPACE}");==>键入删除前一字符

SendKeys.Send("{LEFT}");==>键入向左键

如果想看全部的按键,可以在MSDN上找到详细的说明:

http://msdn.microsoft.com/zh-cn/library/system.windows.forms.sendkeys.send.aspx

转载于:https://www.cnblogs.com/angestudy/archive/2011/04/04/2005281.html

Java中的WinForm SendKeys是一种用于模拟键盘输入的功能。它允许我们程序中通过代码触发键盘上的按键,以达到模拟用户的键盘操作的效果。 使用Java中的SendKeys功能的首要步骤是引入相关的库。我们可以使用java.awt包下的Robot类来实现这个功能。Robot类提供了一系列与键盘和鼠标交互的方法。 假设我们想要通过代码实现在WinForm应用程序中输入文字"Hello World!",我们可以按照以下步骤进行操作。 首先,我们需要在代码中导入java.awt包和java.awt.event包: import java.awt.Robot; import java.awt.event.KeyEvent; 然后,我们创建一个Robot对象,该对象将负责执行键盘操作。我们可以使用Robot类的keyPress和keyRelease方法模拟按下和释放键盘上的按键。 Robot robot = new Robot(); 接下来,我们可以使用robot对象的keyPress和keyRelease方法按下和释放键盘上的按键。在此例中,我们将按下和释放键盘上的每个字母和空格键: robot.keyPress(KeyEvent.VK_H); robot.keyPress(KeyEvent.VK_E); robot.keyPress(KeyEvent.VK_L); robot.keyPress(KeyEvent.VK_L); robot.keyPress(KeyEvent.VK_O); robot.keyPress(KeyEvent.VK_SPACE); robot.keyPress(KeyEvent.VK_W); robot.keyPress(KeyEvent.VK_O); robot.keyPress(KeyEvent.VK_R); robot.keyPress(KeyEvent.VK_L); robot.keyPress(KeyEvent.VK_D); robot.keyPress(KeyEvent.VK_EXCLAMATION_MARK); robot.keyRelease(KeyEvent.VK_H); robot.keyRelease(KeyEvent.VK_E); robot.keyRelease(KeyEvent.VK_L); robot.keyRelease(KeyEvent.VK_L); robot.keyRelease(KeyEvent.VK_O); robot.keyRelease(KeyEvent.VK_SPACE); robot.keyRelease(KeyEvent.VK_W); robot.keyRelease(KeyEvent.VK_O); robot.keyRelease(KeyEvent.VK_R); robot.keyRelease(KeyEvent.VK_L); robot.keyRelease(KeyEvent.VK_D); robot.keyRelease(KeyEvent.VK_EXCLAMATION_MARK); 最后,我们还需要处理可能的异常情况。因此,我们需要在调用Robot类方法时使用try-catch块。 try { // 执行键盘操作 } catch (Exception e) { e.printStackTrace(); } 这样,我们就可以使用Java中的WinForm SendKeys功能来模拟键盘输入。这个功能可以用于自动化测试、键盘模拟和其他需要模拟用户键盘输入的场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值