如何让虚拟键盘在WinForms应用程序中的文本框中输入文本?

时间:2014-02-03 20:16:31

标签: c# winforms virtual-keyboard

我有一个包含按钮和文本框的Windows窗体应用程序。在“button_click_event”执行此代码:

System.Diagnostics.Process.Start("osk.exe");

键盘显示,但当我在键盘上键入时,文本框上没有文字。

1 个答案:

答案 0 :(得分:3)

正在发生的事情是屏幕键盘正在向聚焦控制发送信息,在您的情况下是启动键盘的按钮。创建键盘后,尝试将焦点设置到文本框。

private void button1_Click(object sender, EventArgs e)
{
    System.Diagnostics.Process.Start("osk.exe");
    //SetFocus to your TextBox here
    textBox1.Focus();
}

要关闭它,请执行以下操作

private void button2_Click(object sender, EventArgs e)
{
    var procs = Process.GetProcessesByName("osk");
    if (procs.Length != 0)
        procs[0].Kill();

}