2

我在 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()
              {
              }
        }
     }
4

3 回答 3

8

IsDefault属性设置ButtonTrue

于 2012-04-13T06:41:00.057 回答
2

只需设置IsDefault="True"在您的按钮上。这将使您的按钮在用户按回车时自动单击。不需要 KeyDown 事件。

于 2012-04-13T06:42:09.607 回答
1

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

假设你有文本框

<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>

在后面的代码中:

private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Return)
    {
        textBlock1.Text = "You Entered: " + textBox1.Text;
    }
}
于 2012-04-13T06:43:34.543 回答