首页 > 解决方案 > 消息框和表单默认键行为

问题描述

我有一个 DataGridView,用户可以在其中搜索文本。

当搜索文本框具有焦点时,我将“搜索”按钮设置为默认按钮,因此用户只需按 Enter 键即可搜索。这是代码

private void txtSearchCatsGrid_KeyUp(Object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        SearchCatsDgV();
    }
}

我没有为表单设置默认按钮。表单上确实没有我想要的默认按钮。

当执行搜索并且结果未找到记录时,我打开一个消息框说。该框只有一个“确定”按钮。

问题是,如果在没有结果的搜索后打开消息框,如果您按 Enter,则搜索按钮似乎保持焦点并且搜索重新运行并且消息框打开/保持打开状态。

所以我想我的问题是我该如何做上述代码的“相反”。当消息框打开时,显然我希望 Okay 按钮在打开并按下 Enter 键时成为默认值。我怎么做?

标签: winforms

解决方案


推荐阅读