可拖动窗口窗体栏



我正在制作一个windows窗体应用程序,只是为了测试我的设计技巧,但我发现轮廓很丑,所以我制作了自己的最小化和关闭按钮,但我不确定如何制作一个可以拖动的面板。有人能帮我吗?

顺便说一下,代码是c#。

使用事件,我们可以在左键点击(MouseDown)时获取当前位置,在鼠标移动(MouseMove)时,我们使用当前窗口位置减去我们之前的位置,并添加我们拖动鼠标的距离。

public partial class Form1 : Form 
{
private Point windowLocation;
public Form1()
{
InitializeComponent();
}

private void Form1_MouseDown(object sender, MouseEventArgs e)
{
this.windowLocation = e.Location;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
// Refers to the Form location (or whatever you trigger the event on)
this.Location = new Point(
(this.Location.X - windowLocation.X) + e.X, 
(this.Location.Y - windowLocation.Y) + e.Y
);
this.Update();
}
}

}

最新更新