按钮更新新职位

时间:2015-11-11 01:50:55

标签: c# button position

我面对一个简单的问题,但让我感到困惑。

一些代码如下:

代码1

private void Main_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Left)
        {
            label1.Location = new Point(label1.Location.X +10,label1.Location.Y + 10);

        }
    }

代码2

private void Main_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Left)
        {

            label1.Location = new Point(label1.Location.X +10,label1.Location.Y + 10);
            button1.Location = new Point(button1.Location.X - 1,button1.Location.Y);
        }
    }

代码1工作正常,但是一旦我在表单中添加了一个按钮并移动了该位置的代码,我的" KEY.Left"不要给我任何回报(更新位置)......有人可以解释一下这个吗?

1 个答案:

答案 0 :(得分:0)

假设这是关于Windows窗体的:

  1. 您可以尝试将表单KeyPreview属性设置为true并处理表单的KeyUp事件
    1. 您可以在表单中覆盖ProcessCmdKey

      protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
      {
      
          if (keyData == Keys.Left)
          {
              label1.Location = new Point(label1.Location.X + 10, label1.Location.Y + 10);
              button1.Location = new Point(button1.Location.X - 1, button1.Location.Y);
              return true;
          }
          return base.ProcessCmdKey(ref msg, keyData);
      }