#region 移动窗体 移动窗口
private
Point _mousePoint;
private
int topA(Control cc)
{
if
(cc == null
|| cc == this ) return
0;
if
(cc.Parent == null
|| cc.Parent == this )
return
cc.Top;
else
return
topA(cc.Parent) + cc.Top;
}
private
int leftA(Control cc)
{
if
(cc == null
|| cc == this ) return
0;
if
(cc.Parent == null
|| cc.Parent == this )
return
cc.Left;
else
return
leftA(cc.Parent) + cc.Left;
}
private
void labTitle_MouseDown( object
sender, MouseEventArgs e)
{
Control cc = (Control)sender;
if
(e.Button == MouseButtons.Left)
{
_mousePoint.X = e.X + leftA(cc);
_mousePoint.Y = e.Y + topA(cc);
}
}
private
void labTitle_MouseMove( object
sender, MouseEventArgs e)
{
if
(e.Button == MouseButtons.Left)
{
Top = MousePosition.Y - _mousePoint.Y;
Left = MousePosition.X - _mousePoint.X;
}
}
#endregion
|