C#无边框控制窗体移动
来源:互联网 发布:java多线程挂起和阻塞 编辑:程序博客网 时间:2024/06/06 01:12
虽然C#自带有边框,但是在开发过程中那个边框并不是很好看,当我们不使用那个边框的时候,那么就会面临一个问题,没有C#自带的边框了,那么窗体怎么进行移动呢?
这涉及到C#的三个事件:
1.MouseDown : 鼠标单击事件
2.MouseMove : 鼠标经过事件
3.MouseUp : 鼠标抬起事件
在写的时候依然是这三个顺序:
首先设置两个全局变量:
Point mouseOff;//用于获取鼠标位置 bool leftFlag;//移动标识
然后写第一个事件:
private void MainForm_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left)//判断是否单击的是左键 { mouseOff = new Point(e.X,e.Y);//获取当前鼠标位置 leftFlag = true;//用于标记窗体是否能移动(此时鼠标按下如果说用户拖动鼠标则窗体移动) } }第二个事件:
private void MainForm_MouseMove(object sender, MouseEventArgs e) { if (leftFlag) {
//用当前鼠标的位置 - 之前获取的鼠标位置 = 用户移动窗体的距离
//Location: 设置或获取窗体左上角位置 Location = new Point(Control.MousePosition.X - mouseOff.X, Control.MousePosition.Y - mouseOff.Y); } }
第三个事件:(此时移动已经完成 但是如果不把leftFlag标识一下,则会继续移动)
private void MainForm_MouseUp(object sender, MouseEventArgs e) { if (leftFlag) { leftFlag = false; //释放鼠标标识为false 表示窗体不可移动 } }通过以上代码可以完成 无边框窗体移动!
新手上路 多多指教!
阅读全文
0 0
- C#无边框控制窗体移动
- C# 无边框窗体移动
- C# 移动无边框窗体
- c#移动无边框窗体
- C# 无边框窗体的移动
- 使用C#实现移动无边框窗体
- 使用C#实现移动无边框窗体
- 使用C#实现移动无边框窗体
- C#中无边框窗体移动
- C#无边框窗体的移动
- c# 移动拖动无边框窗体
- C#无边框窗体的移动
- C#中无边框窗体移动
- c# winform移动无边框窗体
- c# 移动拖动无边框窗体
- 无边框窗体移动
- c#窗体移动(无边框移动/用户区移动)
- C#去边框以及无边框窗体移动
- 一个小时写一个简单的iOS新闻应用
- Web31 懒加载
- TensorFlow学习笔记(四):手写数字识别之LSTM网络
- Java程序员秋招面经大合集(BAT美团网易小米华为中兴等)
- Ubuntu 14.04 安装搜狗拼音
- C#无边框控制窗体移动
- redis-set扩展命令
- Zongjie
- 解决Ubuntu 14.04 built-in display 分辨率较低的方法
- hdu1102之prim(堆优化)解法
- Keras入门(3)——磨刀不误砍柴工
- 正常文档流block、inline、inline-block元素与浮动框之间的位置关系
- 斜率优化学习笔记
- makefile(Android.mk)打印变量方法