【WinForm】无边框窗体移动
程序员文章站
2022-07-14 12:21:25
...
记录学习过程
创建日期:2019-04-13
无边框窗体移动
当窗体设置为无边框后,比如在窗体顶部添加一个panel控件作为Top,想通过移动panel来移动窗体
方法
/// <summary>
/// 扩展方法
/// </summary>
public static class Extensions
{
/// <summary>
/// 无边框窗体移动
/// </summary>
/// <param name="control">点击该控件移动窗体</param>
public static void ControlMove(Form form,params Control[] control)
{
foreach (var item in control)
{
Point downPoint = new Point();
//按下鼠标记录点
item.MouseDown += (sender, e) =>
{
downPoint = new Point(e.X, e.Y);
};
//鼠标移动时,设置窗体位置
item.MouseMove += (sender, e) =>
{
if (e.Button == MouseButtons.Left)
{
form.Location = new Point(form.Location.X + e.X - downPoint.X, form.Location.Y + e.Y - downPoint.Y);
}
};
}
}
}
调用
//通过panelTop,panelLeft移动窗体
frm.SetRowsCount(panelTop,panelLeft);
上一篇: 什么是分库分区分表