【问题标题】:Virtual Key slant movement虚拟键倾斜移动
【发布时间】:2023-03-29 06:45:02
【问题描述】:
public void Move(VirtualKey direction, double boardX, double boardY)
{
    switch (direction)
    {
        case VirtualKey.Up:
            if (Y - _StepSize >= 0)
                this.Y -= this._StepSize;
            break;
        case VirtualKey.Down:
            if (Y + _StepSize <= boardY)
                this.Y += this._StepSize;
            break;
        case VirtualKey.Right:
            if (X + _StepSize <= boardX)
                this.X += this._StepSize;
            break;
        case VirtualKey.Left:
            if(X - _StepSize >= 0)
            this.X -= this._StepSize;
            break;

        default:
            break;
    }
}

我想用 2 个键来倾斜移动。例如,我如何上下左右一起使用或上下左右一起使用?

【问题讨论】:

    标签: c# visual-studio uwp key virtual-keyboard


    【解决方案1】:

    您可以使用CoreWindow.GetKeyState 来测试所有当前按下的组合键。

    以下示例测试是否同时按下向上箭头键和向右箭头键:

    partial class MainPage : Page
    {
      protected override void OnKeyDown(KeyRoutedEventArgs e)
      {
        base.OnKeyDown(e);
        CoreWindow currentCoreWindow = Window.Current.CoreWindow;
        if (currentCoreWindow.GetKeyState(VirtualKey.Up).HasFlag(CoreVirtualKeyStates.Down)
          && currentCoreWindow.GetKeyState(VirtualKey.Right).HasFlag(CoreVirtualKeyStates.Down))
        {
          // Handle UP + Right keys pressed
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-15
      • 2012-06-21
      • 1970-01-01
      • 2016-07-26
      相关资源
      最近更新 更多