Windowsフォームに関しては、本当に貼り付けをコピーするだけですが
あなたが投稿したコードは、実際にはそれ自体では何もしません!
作業するには、コントロールのMousedown()およびMousemove()イベントをそれらの方法に配線する必要があります。
- フォーム(PictureBox1)のコントロールを選択します。
- プロパティペイン(デフォルトで右下)で、「Lightning Bolt」アイコンをクリックして、そのコントロールのイベントのリストを取得します。
- を見つける
MouseDown
ドロップダウンを右に入力して変更しますpictureBox1_MouseDown
. - を見つける
MouseMove
ドロップダウンを右に入力して変更しますpictureBox1_MouseMove
.
次に、それを実行し、PictureBox1をドラッグします。
編集:以下のコメントで概説されているように、複数のコントロールに対してコードを機能させる方法を次に示します。
bool isDragged = false;
Point ptOffset;
private void button1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
isDragged = true;
Button btn = (Button)sender;
ptOffset = new Point(btn.Location.X - Cursor.Position.X, btn.Location.Y - Cursor.Position.Y);
}
else
{
isDragged = false;
}
}
private void button1_MouseMove(object sender, MouseEventArgs e)
{
if (isDragged)
{
Point newPoint = Cursor.Position;
newPoint.Offset(ptOffset);
Button btn = (Button)sender;
btn.Location = newPoint;
}
}
private void button1_MouseUp(object sender, MouseEventArgs e)
{
isDragged = false;
}