亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

winform如何實現控件自由拖動

小億
292
2023-09-12 23:50:36
欄目: 智能運維

在WinForm中,可以通過以下步驟實現控件自由拖動:

  1. 在控件上按下鼠標左鍵時,記錄鼠標相對于控件左上角的位置。
private Point mouseOffset;
private void Control_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Control control = (Control)sender;
mouseOffset = new Point(e.X, e.Y);
}
}
  1. 隨后,在控件上移動鼠標時,根據鼠標的位置計算控件的新位置,并將控件移動到新位置。
private void Control_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Control control = (Control)sender;
control.Left = e.X + control.Left - mouseOffset.X;
control.Top = e.Y + control.Top - mouseOffset.Y;
}
}
  1. 最后,在控件上釋放鼠標左鍵時,停止拖動。
private void Control_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Control control = (Control)sender;
control.Capture = false;
}
}
  1. 將上述代碼應用到需要自由拖動的控件上。
// 綁定事件
yourControl.MouseDown += Control_MouseDown;
yourControl.MouseMove += Control_MouseMove;
yourControl.MouseUp += Control_MouseUp;

這樣,當用戶在控件上按下鼠標左鍵并移動時,控件將根據鼠標移動的位置自由拖動。

0
睢宁县| 哈密市| 乌什县| 镇宁| 博湖县| 榆中县| 乌拉特前旗| 襄垣县| 尼木县| 铅山县| 香港| 安新县| 新龙县| 濮阳市| 长阳| 闽清县| 双桥区| 清流县| 宁都县| 三门峡市| 城步| 临潭县| 通州区| 黄骅市| 陵川县| 鄂温| 申扎县| 罗定市| 渑池县| 宜丰县| 新绛县| 高陵县| 邹平县| 开原市| 澄迈县| 永顺县| 禄劝| 衡阳市| 岳阳市| 临泽县| 固安县|