我试图通过按键事件上下移动 PictureBox(picUser)。我是 C# 的新手,并且能够通过 VB 执行此操作。因此,我对以下代码的问题感到困惑:

    private void picUser_keyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
        if (e.KeyCode == Keys.W)
        {
            picUser.Top -= 10;
        }
    }

代码没有“错误”,图片框只是不动。

最佳答案

PictureBox 没有 KeyDown 事件。它有一个 PreviewKeyDown 而不是需要 PictureBox 来获得焦点。

我建议改用托管 KeyDownformPictureBox 并使用完全相同的代码:

public Form1()
{
     InitializeComponent();
     this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
}

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

关于c# - C#中的按键事件——移动图片框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5956207/

10-13 06:57