繁体   English   中英

当用户按下输入按钮wpf时,如何在键盘上触发按键事件

[英]How can I fire a key press event on a keyboard when a user presses enter button wpf

我有一个wpf登录表单的登录按钮。 我希望该用户有两个选项,第一个是让用户填写用户名和密码,然后使用鼠标按下登录按钮,第二个选项是用户可以从键盘按ENTER键。 我怎样才能让它发挥作用? 鼠标单击执行作业,但按ENTER键不起作用。

<Button Canvas.Left="157" Canvas.Top="292" Height="24" BorderThickness="0" BorderBrush="White" Content="Login" Name="btnLogin" Width="99" Click="btnLogin_Click"  Keyboard.KeyDown="bttnLogin_Enter"  />

我的代码是:---

    private void bttnLogin_Enter(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
        {
            try
            {
                 /// My code here
             }
           catch()
              {
              }
        }
     }

ButtonIsDefault属性设置为True

只需在按钮上设置IsDefault="True"即可。 这将使用户点击进入时自动点击您的按钮。 不需要KeyDown事件。

除了将Button的IsDefault属性设置为true(将为整个表单设置Enter操作)之外,您还可以捕获按下文本框的Enter键。 如果要捕获按多个文本框的Enter多个键,请检查以下示例

假设你有文本框

<StackPanel>
  <TextBlock Width="300" Height="20">
    Type some text into the TextBox and press the Enter key.
  </TextBlock>
  <TextBox Width="300" Height="30" Name="textBox1"
           KeyDown="OnKeyDownHandler"/>
  <TextBlock Width="300" Height="100" Name="textBlock1"/>
</StackPanel>

在Code背后:

private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Return)
    {
        textBlock1.Text = "You Entered: " + textBox1.Text;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM