c# - MessageBox 没有获得焦点

标签 c# wpf focus messagebox keyup

当我点击回车按钮时,显示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/

相关文章:

c# - 从文件生成/构建 map

c# - Assembly.GetTypes() - 获取加载失败的类型

c# - Workflow Foundation - 在自定义设计器中分配 InArgument

c# - c#中的子字符串并逐一添加

google-maps-api-3 - Google Map API V3 仅在长时间对焦时缩放

objective-c - 使用 "showWindow"调用的窗口未聚焦

c# - 如何在 WPF 中将图像叠加在图像上?

c# - 如何使用 asp.net mvc4 openid api 获取电子邮件 ID

c# - 临时调试版本和最终应用程序版本

java - SWT - 从 Shell 中的按钮/控件中删除焦点