0

パネルコントロールにドッキングするラベルで、このコードを使用しました:(これはマウスポインターでパネルを移動するためのものです)

Point m_pntPosPanel = new Point();

private void lblMove_MouseUp(object sender, MouseEventArgs e)
{
    pnlCost.Location = new Point(e.X - m_pntPosPanel.X + pnlCosto.Location.X, e.Y - m_pntPosPanel.Y + pnlCosto.Location.Y);
    Cursor.Current = Cursors.Default;
    m_blnMouseDown = false;
}

private void lblMove_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        m_pntPosPanel.X = e.X;
        m_pntPosPanel.Y = e.Y;

        Cursor.Current = Cursors.Hand;
        m_blnMouseDown = true;
    }
}

そのパネルを一緒に動かすにはどうすればよいdirectional keyboardですか?

4

1 に答える 1

1

次のように、コントロールとプロセスでKeyUpイベントに登録します。

    private void lblMove_KeyUp(object server, KeyEventArgs e)
    {
          Point location = button1.Location;
          switch(e.KeyCode)
          {
            case Keys.Up: 
                location.Y = location.Y -1;
                break;
            case Keys.Down:
                location.Y = location.Y + 1;
                break;
            case Keys.Right:
                location.X = location.X + 1;
                break;
            case Keys.Left:
                location.X = location.X - 1;
                break;
          }

          button1.Location = location;
    }
于 2013-02-21T20:16:16.940 に答える