C# WinForm 自定义窗口移动
1. 首先新建一个WinForm 窗口程序,然后添加控件,为窗口或者控件添加鼠标按下(MouseDown)、移动(MouseMove)以及松开(MouseUp)的监听事件,最后的xposition 和yposition 就是你要设置的最终的整个窗口位置
private bool click = false;//鼠标是否点击
private int xposition = 0;//面板相对屏幕的X轴坐标
private int yposition = 0;//面板相对屏幕的Y轴坐标
//某个控件当鼠标左键按下时
private void label2_MouseDown(object sender,MouseEventArgs e) {
click=true;
xposition=e.X;
yposition=e.Y;
}
//某个控件当鼠标左键移动时
private void label2_MouseMove(object sender,MouseEventArgs e) {
if (e.Button==MouseButtons.Left) {
if (click) {
this.SetBounds((MousePosition.X-xposition),(MousePosition.Y-yposition-this.tolabel.Height),this.Size.Width,this.Size.Height);
}
}
}
//某个控件当鼠标左键松开时
private void label2_MouseUp(object sender,MouseEventArgs e) {
click=true;
xposition=e.X;
yposition=e.Y;
}