SendKeys.Send( “你好”);连续发送字符串我怎么能只发送一次

时间:2017-06-20 19:15:42

标签: c# sendkeys

此代码不断发送字符串。我需要一个解决方案,通过单击窗口中具有焦点的按钮,只能发送提供的字符串一次。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        SendKeys.Send("This is a test...");
    }
}

1 个答案:

答案 0 :(得分:1)

问题似乎是button1控件具有焦点,当您向其发送某些键时(如示例中的空格),它会触发Click事件,并且你最终陷入了无限循环。

尝试在表单中添加TextBox,然后将焦点设置为第一个(或者如果您已经知道应该接收文本的内容,请在调用SendKeys之前确保它具有焦点) :

private void button1_Click(object sender, EventArgs e)
{
    textBox1.Focus();
    SendKeys.Send("This is a test...");
}