我在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()
{
}
}
}
答案 0 :(得分:7)
将IsDefault
的{{1}}属性设置为Button
答案 1 :(得分:2)
只需在按钮上设置IsDefault="True"
即可。这将使用户点击进入时自动点击您的按钮。不需要KeyDown事件。
答案 2 :(得分:1)
除了将Button的IsDefault属性设置为true(将为整个表单设置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>
在代码背后:
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
textBlock1.Text = "You Entered: " + textBox1.Text;
}
}