WinForm 之 自定义标题栏的窗体移动
Posted Now,DayBreak
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm 之 自定义标题栏的窗体移动相关的知识,希望对你有一定的参考价值。
通过标题栏的鼠标事件实现窗体移动,代码如下:
bool m_isMouseDown = false; //窗体是否移动 Point m_mousePos; //记录窗体的位置 /// <summary> /// 鼠标按下,开启移动 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void panelTitle_MouseDown(object sender, MouseEventArgs e) { m_mousePos = Cursor.Position; m_isMouseDown = true; } /// <summary> /// 窗体鼠标移动 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void panelTitle_MouseMove(object sender, MouseEventArgs e) { if (m_isMouseDown) { Point tempPos = Cursor.Position; this.Location = new Point(Location.X + (tempPos.X - m_mousePos.X), Location.Y + (tempPos.Y - m_mousePos.Y)); m_mousePos = Cursor.Position; } } /// <summary> /// 鼠标抬起,关闭移动 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void panelTitle_MouseUp(object sender, MouseEventArgs e) { m_isMouseDown = false; this.Focus(); }
以上是关于WinForm 之 自定义标题栏的窗体移动的主要内容,如果未能解决你的问题,请参考以下文章
C# 做的winform窗体程序把一个Form给为自定义控件?