我正在开发一个winForm应用程序,它使用sendkeys将值发送到不同应用程序(java应用程序)的文本框中。
下面是我的代码
SendKeys.Send("abcd".ToUpper().Trim());
Thread.Sleep(50);
//it will send tab key to focus next textbox
SendKeys.Send("{TAB}");
Thread.Sleep(50);
SendKeys.Send("efgh".ToUpper().Trim());
//send tab to get focus on button
SendKeys.Send("{TAB}");
// it will send key "Enter" for mouse click
SendKeys.Send("{ENTER}");
但sendKeys正在向文本框发送错误的数据。欲望输出应该是abcd到textbox1和efgh到textbox2。但有时候我会向texbox1和fgh转到textbox2。它合并输入值。有谁知道为什么会这样?请让我知道如何解决这个问题。
TabIndex
属性。例如control
中的下一个TextBox1
[focus to form
],然后完成你想要实现的目标。
private void btnSendKey_Click(object sender, EventArgs e)
{
SendKeys.Send("{TAB}");
Thread.Sleep(50);
SendKeys.Send("abcd".ToUpper().Trim());
Thread.Sleep(50);
//it will send tab key to focus next textbox
SendKeys.Send("{TAB}");
Thread.Sleep(50);
SendKeys.Send("efgh".ToUpper().Trim());
//send tab to get focus on button
SendKeys.Send("{TAB}");
// it will send key "Enter" for mouse click
SendKeys.Send("{ENTER}");
}
在输入键上单击仅显示值
private void btnEnter_Click(object sender, EventArgs e)
{
MessageBox.Show("Text Box 1: " + textBox1.Text.ToString() + " - Text Box 2:" + textBox2.Text.ToString());
}`