2

wpfログインフォームにログインボタンがあります。ユーザーに 2 つのオプションが必要です。最初のオプションは、ユーザーにユーザー名とパスワードを入力させ、マウスを使用してログイン ボタンを押すことです。2 番目のオプションは、ユーザーがキーボードから 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のプロパティをに設定しButtonますTrue

于 2012-04-13T06:41:00.057 に答える
2

ボタンを押すだけIsDefault="True"です。これにより、ユーザーがEnterキーを押すと、ボタンが自動的にクリックされます。KeyDownイベントは必要ありません。

于 2012-04-13T06:42:09.607 に答える
1

フォーム全体のEnterアクションを設定するButtonのIsDefaultプロパティをtrueに設定する以外に、テキストボックスに対して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>

背後にあるコード:

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