原文地址:http://blog.csdn.net/qq_15126969/article/details/40024769
这里所谓的无边框窗体是指去除系统自带的标题栏和最大最小化等那周围一圈的窗体
即把窗体的FormBorderStyle设置为none后的窗体(效果如下)
这是有边框的:
去除边框的:
右边框窗体想要移动位置,用鼠标点击标题栏移动即可,那么没边框的该如何移动这个问题,我也是纠结了好久。
有人可能觉得干嘛要去除边框,因为我觉得QQ那样的登录窗体比较好看,自己再去做最小化按钮和关闭按钮。
好了,正题,该如何移动!
【Answers】
- <span style="white-space:pre"> </span>
- bool beginMove = false;
- int currentXPosition;
- int currentYPosition;
- private void LoginForm_MouseDown(object sender, MouseEventArgs e)
- {
-
- beginMove = true;
- currentXPosition = MousePosition.X;
- currentYPosition = MousePosition.Y;
- this.Refresh();
- }
-
- private void LoginForm_MouseLeave(object sender, EventArgs e)
- {
-
- currentXPosition = 0;
- currentYPosition = 0;
- beginMove = false;
- }
-
- private void LoginForm_MouseMove(object sender, MouseEventArgs e)
- {
- if(beginMove)
- {
-
- this.Left += MousePosition.X - currentXPosition;
-
- this.Top += MousePosition.Y - currentYPosition;
- currentXPosition = MousePosition.X;
- currentYPosition = MousePosition.Y;
- }
- }
-
- private void LoginForm_MouseUp(object sender, MouseEventArgs e)
- {
- beginMove = false;
- }
其实很简单对吧。
END.