如何在按下按钮后将焦点设置回窗体

本文关键字:焦点 设置 窗体 按钮 | 更新日期: 2023-09-27 18:33:54

我正在制作一个游戏,要打开和关闭商店,请按S。在商店中,你有六种不同的选择可以购买,但它们都是按钮。

但是,一旦您购买了东西,焦点就不再在窗体上,而是在按钮上,并且键下事件是窗体的一部分,因此,由于焦点从窗体切换到按钮,因此键按下事件不再起作用,并禁止您关闭商店并继续游戏。

我的问题是,按下按钮后,如何将焦点设置回窗体?我从Visual basic开始,代码类似于form1.setfocus,但在c#中完全不同。

我已经尝试激活表单,.focus,很多,似乎没有什么将焦点放回表单上。帮助将不胜感激。

如何在按下按钮后将焦点设置回窗体

Form1.focus();

但我认为,要获取Form本身的键盘事件,您需要KeyPreview设置为Form true,以便表单首先获取键,然后获取其他控件。

尝试:

form.Focus();

MSDN:

如果控件成功接收输入焦点,则 Focus 方法返回 true。控件可以具有输入焦点,但不显示具有焦点的任何视觉提示。此行为主要由下面列出的不可选择控件或从它们派生的任何控件观察到。

告诉我更多

您也可以将按键向下事件添加到按钮中。