博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【CITE】 C#中实现拖动无边框Form窗体
阅读量:5253 次
发布时间:2019-06-14

本文共 1191 字,大约阅读时间需要 3 分钟。

首先建一个Windows应用程序

将Form1的 FormBorderStyle属性设置为None

主要是在Form1窗体触发三个事件:Form4_MouseDown,Form4_MouseMove,Form4_MouseUp

代码如下:

     
public partial class Form1 : Form{        Point mouseOff;                          //鼠标移动位置变量        bool leftFlag;                               //标签是否为左键        public Form1()        {            InitializeComponent();        } }

  

//用代码设置窗体的起始位置

private void Form_Load(object sender, System.EventArgs e) {      this.Left=(int)((Screen.PrimaryScreen.Bounds.Width-this.Width)/2);      this.Top=(int)((Screen.PrimaryScreen.Bounds.Height-this.Height)/2); } private void Form1_MouseDown(object sender, MouseEventArgs e){  if (e.Button == MouseButtons.Left)   {    mouseOff = new Point(-e.X, -e.Y); //得到变量的值    leftFlag = true;                              //点击左键按下时标注为true;  } }private void Form1_MouseMove(object sender, MouseEventArgs e){   if (leftFlag)   {      Point mouseSet = Control.MousePosition;       mouseSet.Offset(mouseOff.X, mouseOff.Y); //设置移动后的位置      Location = mouseSet;  }}private void Form1_MouseUp(object sender, MouseEventArgs e){   if (leftFlag)   {     leftFlag = false;//释放鼠标后标注为false; }} }

 

转载于:https://www.cnblogs.com/hardsoftware/p/5714427.html

你可能感兴趣的文章
(C/C++) Interview in English - Class
查看>>
UOJ Round #15 [构造 | 计数 | 异或哈希 kmp]
查看>>
Countdown项目UML用例图
查看>>
struts2文件上传大小限制问题小结
查看>>
actor运行报错:java.lang.ClassNotFoundException
查看>>
Eclipse PHPEclipse 配置
查看>>
关于BigDecimal的四舍五入和截断 (转)
查看>>
VB刷网页程序(VB+DOS)
查看>>
LeetCode 153. Find Minimum in Rotated Sorted Array
查看>>
Xdebug在PHP中的安装配置
查看>>
JS实现select去除option的使用注意事项
查看>>
00085_异常
查看>>
ruby 方法(2)
查看>>
Python遍历列表删除多个元素或者重复元素
查看>>
jQuery内部原理和实现方式浅析
查看>>
windows共享虚拟机ubuntu目录
查看>>
常用SQL查询语句
查看>>
Python包管理工具setuptools详解及entry point
查看>>
ADB WiFi连接手机
查看>>
Centos7源码安装MySQL5.7
查看>>