(更新时间)2021年5月21日 仓库温控系统(Winform) 19 窗体拖动功能实现

编程入门 行业动态 更新时间:2024-10-06 16:30:36

(<a href=https://www.elefans.com/category/jswz/34/1764326.html style=更新时间)2021年5月21日 仓库温控系统(Winform) 19 窗体拖动功能实现"/>

(更新时间)2021年5月21日 仓库温控系统(Winform) 19 窗体拖动功能实现

Point point = new Point();
bool isMove = false;
private void panelTop_MouseDown(object sender, MouseEventArgs e)
{point = e.Location;//按住的点isMove = true;}private void panelTop_MouseMove(object sender, MouseEventArgs e)
{if(e.Button==MouseButtons.Left&&isMove){Point pointNew = e.Location;//按住的点拖动到的位置Point fPointNew = new Point(pointNew.X - point.X, pointNew.Y - point.Y);//相对于原来起点的距离点的描述this.Location += new Size(fPointNew);}
}const int WM_NCHITTEST = 0x0084;// 移动鼠标
const int HTLEFT = 10;
const int HTRIGHT = 11;
const int HTTOP = 12;
const int HTTOPLEFT = 13;
const int HTTOPRIGHT = 14;
const int HTBOTTOM = 15;
const int HTBOTTOMLEFT = 0x10;
const int HTBOTTOMRIGHT = 17;protected override void WndProc(ref Message m)
{base.WndProc(ref m);switch (m.Msg){case WM_NCHITTEST:Point vPoint = new Point((int)m.LParam & 0xFFFF,(int)m.LParam >> 16 & 0xFFFF);vPoint = PointToClient(vPoint);if (vPoint.X <= 5)if (vPoint.Y <= 5)m.Result = (IntPtr)HTTOPLEFT;else if (vPoint.Y >= ClientSize.Height - 5)m.Result = (IntPtr)HTBOTTOMLEFT;else m.Result = (IntPtr)HTLEFT;else if (vPoint.X >= ClientSize.Width - 5)if (vPoint.Y <= 5)m.Result = (IntPtr)HTTOPRIGHT;else if (vPoint.Y >= ClientSize.Height - 5)m.Result = (IntPtr)HTBOTTOMRIGHT;else m.Result = (IntPtr)HTRIGHT;else if (vPoint.Y <= 5)m.Result = (IntPtr)HTTOP;else if (vPoint.Y >= ClientSize.Height - 5)m.Result = (IntPtr)HTBOTTOM;break;}
}/// <summary>
/// 面板中的页面尺寸与面板的尺寸同步---面板中Form页自适应处理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void panelPage_SizeChanged(object sender, EventArgs e)
{foreach(Control c in panelPage.Controls){Form f = c as Form;f.WindowState = FormWindowState.Normal;f.SuspendLayout();f.Size = panelPage.Size;//DataGridView 闪烁--- 先挂起  ,,,再恢复f.ResumeLayout();f.WindowState = FormWindowState.Maximized;}
}

更多推荐

(更新时间)2021年5月21日 仓库温控系统(Winform) 19 窗体拖动功能实现

本文发布于:2024-02-14 16:04:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1764297.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:更新时间   窗体   拖动   仓库   功能

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!