抖音粉丝群1
『7x24小时有问必答』

AI浪潮下的计算机行业——从业者现状与未来展望
因公众号更改推送规则,请点“在看”并加“星标”

第一时间获取精彩技术分享
1.jpeg
哈喽,你好啊,我是雷工!
上一节时练习做了一个简单的登录窗体界面,为了美观设置成了无边框,
当运行起来,发现无边框的窗体无法用鼠标拖动位置,
本节记录通过添加代码实现无边框窗体实现移动,以下为测试笔记。
01  效果展示
1.1、添加代码前,在窗体上按住鼠标左键拖动鼠标,无边框窗体无法被鼠标拖动。
2.gif
1.2、当添加完相关代码,可以实现用鼠标拖动窗体移动。
3.gif
02 实现步骤
2.1、MouseDown方法
方法代码:
private  void  Frm_MouseDown(object  sender,  MouseEventArgs  e){        if  (e.Button  ==  MouseButtons.Left)//判断鼠标左键是否被按下        {                mouseOff  =  new  Point(-e.X,  -e.Y);//得到变量的值                leftFlag  =  true;//标记鼠标左键的状态        }}
2.2、MouseMove方法
方法代码:
private  void  Frm_MouseMove(object  sender,  MouseEventArgs  e)//鼠标移动触发MouseMove事件{        if(leftFlag)//判断鼠标左键有没有被按下        {                Point  mouseSet  =  Control.MousePosition;//获取屏幕中鼠标所在的位置                mouseSet.Offset(mouseOff.X,  mouseOff.Y);//设置移动后的位置                Location=mouseSet;        }}
2.3、MouseUp方法
方法代码:
private  void  Frm_MouseUp(object  sender,  MouseEventArgs  e)//鼠标左键抬起后触发MouseUp事件{        if(leftFlag)        {                leftFlag  =  false;//释放鼠标后标注为false;        }}
2.4、登录窗体关联方法
在窗体的事件中关联响应
4.png
2.5、创建字段
新建两个字段用来存放鼠标的坐标及鼠标左键的状态
代码如下:
private  Point  mouseOff;//鼠标移动位置变量private bool leftFlag;//标签是否为左键
03  后记
通过添加以上代码,并做相应的关联即可实现鼠标拖动无边框的Winform窗体,有兴趣的小伙伴也可以尝试一下;

---

觉得有用点个关注呗~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码