代码之家  ›  专栏  ›  技术社区  ›  Geeth

在WPF文本框上模拟键盘事件

  •  0
  • Geeth  · 技术社区  · 14 年前

    问题: 文本框上未发生任何操作。

    代码:

    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);
    
                }           
        }
    

    吉莎。

    2 回复  |  直到 14 年前
        1
  •  0
  •   user370446    14 年前

    丹尼尔·罗斯是对的。这样不容易吗? 使用textbox的Text属性,然后在按钮上单击将正确的字符附加到此字符串,当按下delete按钮时,只需删除此字符串的最后一个字符。

        2
  •  0
  •   Daniel Rose    14 年前

    为什么要尝试向TextBox发送键事件,而不是设置其Text属性?