Winforms 如何在WinForm中同时设置文本框和按钮的焦点

Winforms 如何在WinForm中同时设置文本框和按钮的焦点,winforms,user-interface,Winforms,User Interface,当插入符号出现在文本框中时,我想在按钮上设置焦点,用户仍然可以向文本框输入数据。但当用户按下enter键时,按钮按下将被模拟 我目前正在通过处理onKeyDown事件和检查enterkey来解决这个问题。但问题是,用户并没有理解这一点的线索,因为按钮周围并没有蓝色边框,表示关注按钮 下面是一个我想要实现的示例(用户可以在文本框中输入文本,而焦点在: 我尝试在google和StackOverflow上搜索,但找不到任何相关结果。这是Windows的基本原则。不可能同时聚焦两个控件(窗口) 所以焦

当插入符号出现在文本框中时,我想在按钮上设置焦点,用户仍然可以向文本框输入数据。但当用户按下enter键时,按钮按下将被模拟

我目前正在通过处理onKeyDown事件和检查enterkey来解决这个问题。但问题是,用户并没有理解这一点的线索,因为按钮周围并没有蓝色边框,表示关注按钮

下面是一个我想要实现的示例(用户可以在文本框中输入文本,而焦点在:


我尝试在google和StackOverflow上搜索,但找不到任何相关结果。

这是Windows的基本原则。不可能同时聚焦两个控件(窗口)

所以焦点应该在文本框内。但是你可以通过设置表单中的ok按钮(你也可以将cancel按钮设置为)来获得所需的视觉指示

在窗体构造函数中,加载事件或使用设计器:

this.AcceptButton = okButton;

无需处理
KeyDown
事件-只要文本框不是多行,当焦点位于文本框内时,按
Enter
将生成ok按钮单击。当您按
ESC
时,设置为
CancelButton
的按钮也是如此。这是Windows的基本原则。这是不可能的le使两个控件(窗口)同时聚焦

所以焦点应该在文本框内。但是你可以通过设置表单中的ok按钮(你也可以将cancel按钮设置为)来获得所需的视觉指示

在窗体构造函数中,加载事件或使用设计器:

this.AcceptButton = okButton;
无需处理
KeyDown
事件-只要文本框不是多行,当焦点位于文本框内时,按
Enter
将生成ok按钮单击。当按
ESC
时,设置为
CancelButton
的按钮也是如此