C#-MessageBox没有获得焦点

当我单击输入按钮时,将显示MessageBox.我希望像往常一样再次单击Enter键时关闭MessageBox.问题是-它没有焦点,但是TextBox有焦点,当我单击Enter键时,_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");
}
上一篇:app关闭进程启动


下一篇:C#自动计算字符串公式的四种方法