如何更改按钮的Selectable ControlStyle以使其停止接收焦点

时间:2018-11-02 22:05:14

标签: c# winforms button

我正在做一个乒乓球游戏,我有几个按钮可以做不同的事情,我的移动键是W&S,Up&Down。问题在于,向上和向下箭头将焦点设置在按钮上,并且没有提供适当的移动。我知道让他们的图片框可以解决此问题,但我真的想使用按钮控件,因为它们看起来更好。格式KeyPreview也已经设置为true。

Public Enum Direction { None, Up, Down };
Direction leftDir;

If (e.keycode == keys.Up) leftDir = Direction.Up;
If (e.keycode == keys.Down) leftDir = Direction.Down;

由于按键的焦点被按钮的焦点设置传递了,所以这没有条件。

1 个答案:

答案 0 :(得分:0)

创建自定义按钮并应用SetStyle方法。

public ButtonX : Button
{
   public ButtonX
   {
      SetStyle(ControlStyles.Selectable, false);
   }
}

或通过将焦点更改为另一个控件。例如,如果您的表单中有标签,则在使用按钮进行操作之后,只需调用label.Focus();