【问题标题】:C# Windows Forms PictureBox moving with Keys (w,a,s,d) doesnt work because wrong selection? (Coding NewBie)C# Windows 窗体 PictureBox 用键(w、a、s、d)移动不起作用,因为选择错误? (编码新手)
【发布时间】:2018-02-24 16:37:32
【问题描述】:

我打算做一个跳跃和跑步,所以如果我按 W / A / S / D 或类似的东西,我需要一个动态图片框。我目前正在使用那里的源代码。

我现在遇到的问题是,我当前的 Form1 中有很多按钮、其他相框、文本框等,如果我现在按下按钮 W,我的图片框在坐标,因为我认为选择了其他按钮等之一,有人知道如何解决吗? 我在没有任何其他按钮文本框等的新文件中尝试了源代码,它没有任何问题。

private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.W)
        {
            pictureBox2.Top -= 100;
        }
    }

【问题讨论】:

  • 抱歉标题中的拼写错误
  • 如果您想修复任何问题,可以再次编辑您的帖子。
  • 是否设置了断点并调试?
  • @Chetan Ranpariya 是的
  • 我也试过“pictureBox2.BringToFront();”但没有变化

标签: c# winforms keydown


【解决方案1】:

您应该将formKeyPreview 属性设置为true,这样您就可以在按键到达控件之前获得它们。

this.KeyPreview = true;

阅读更多here

【讨论】:

    【解决方案2】:

    您需要将表单的KeyPreview 设置为True,以便在选择表单中的其他对象时使Form1_KeyDown 运行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      相关资源
      最近更新 更多