当我点击回车按钮时,显示MessageBox
。当我像往常一样再次单击输入按钮时,我希望 MessageBox
关闭。问题是 - 它没有焦点,但 TextBox
有,当我单击输入按钮时 _textBox_OnKeyUp
事件处理程序一次又一次地被调用。我该如何解决我的问题?
标记:
<Grid>
<TextBox Name="_textBox"
Width="100"
Height="30"
Background="OrangeRed"
KeyUp="_textBox_OnKeyUp"/>
</Grid>
代码:
private void _textBox_OnKeyUp(object sender, KeyEventArgs e)
{
if (e.Key != Key.Enter)
return;
MessageBox.Show("Bla-bla");
}
最佳答案
你可以使用 KeyDown
事件,因为 MessageBox
响应 KeyDown
事件:
<TextBox Name="_textBox"
Width="100"
Height="30"
Background="OrangeRed"
KeyDown="_textBox_OnKeyDown"/>
和:
private void _textBox_OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key != Key.Enter)
return;
MessageBox.Show("Bla-bla");
}
关于c# - MessageBox 没有获得焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36444300/