2010-07-15 73 views
0

我在我的页面中有文本框和4个按钮(A,B,删除和回车)。如果我点击按钮,它必须将关键事件发送到文本框。模拟WPF文本框上的键盘事件

问题: 文本框上没有任何操作。

代码:

void buttonElement_Click(object sender, RoutedEventArgs e) 
    { 
     // create variable for holding string 
     String sendString = "";   
      // stop all event handling 
      e.Handled = true; 

      // set sendstring to key 
      sendString = ((Button)sender).CommandParameter.ToString();        

      // if something to send 
      if (!String.IsNullOrEmpty(sendString)) 
      { 
       // if sending a string 
       if (sendString.Length > 1) 
       { 
        // add {} 
        sendString = "{" + sendString + "}"; 
       } 

        // set keyboard focus 
       System.Windows.Input.Keyboard.Focus(this.txtSearch);               
       System.Windows.Forms.SendKeys.SendWait(sendString); 

      }   
    } 

格塔。

回答

0

丹尼尔罗斯是对的。这样会不会更容易? 您可以使用文本框的Text属性,并在按钮上单击右键以将该字符串添加到此字符串中,当删除按钮被按下时,只需擦除此字符串的最后一个字符。

0

你为什么要将一个关键事件发送到TextBox,而不是设置Text属性?

+1

我正在创建一个虚拟键盘。 – Geeth 2010-07-15 10:12:48

+0

什么阻止你设置Text属性? – 2010-07-15 11:04:41

+0

想要一个可以重用于其他控件而不是TextBox的实现... – kneo 2013-09-16 11:15:03