Windows Form Tips: 无边框窗口实现用鼠标拖拽的功能
来源:互联网 发布:直通车显示淘宝下架 编辑:程序博客网 时间:2024/05/20 21:44
有时候,为了达到一些特定的UI效果,我们可能会将一个Windows Form设定为无边框的形式(FormBorderStyle设置为None),但这时,窗口也将失去正常的用鼠标拖拽的行为。但下面这个例子可以让无边框窗口的鼠标拖拽功能又恢复回来。注意这个例子只支持按住鼠标左键拖拽。
假设窗口为Form1,我们为Form1增加MouseDown的响应函数Form1_MouseDown,以及MouseMove的响应函数Form1_MouseMove。
代码如下:
namespace Demo1{ using System.Drawing; using System.Windows.Forms; public partial class Form1 : Form { private Point startPoint; public Form1() { this.InitializeComponent(); } /// <summary> /// Handles the MouseDown event of the Form1 control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param> private void Form1_MouseDown(object sender, MouseEventArgs e) { startPoint = new Point( -e.X + SystemInformation.FrameBorderSize.Width, -e.Y - SystemInformation.FrameBorderSize.Height); } /// <summary> /// Handles the MouseMove event of the Form1 control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="MouseEventArgs"/> instance containing the event data.</param> private void Form1_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { Point mousePosition = Control.MousePosition; mousePosition.Offset(this.startPoint.X, this.startPoint.Y); this.Location = mousePosition; } } }}
然后你可以试试,这个无边框窗口是可以按住鼠标左键拖拽的。
0 0
- Windows Form Tips: 无边框窗口实现用鼠标拖拽的功能
- java中 实现无标题无边框的窗体能够用鼠标拖动改变窗口大小
- 无边框窗口实现拖垃效果
- 无边框窗口实现拖垃效果
- 无边框窗口实现拖垃效果
- c#移动无边框form窗口
- MFC 无边框对话框实现点击任务栏图标 还原窗口的功能
- MFC 鼠标拖动无边框窗口
- C# 鼠标拖动WinForm无边框窗口
- Qt无边框窗口的移动、拉伸边框、鼠标滚轮缩放大小
- 无边框窗口在Windows上最大化的问题
- MFC无边框的窗体实现用鼠标拖动窗体边缘实现窗体大小变化
- MFC无边框的窗体实现用鼠标拖动窗体边缘实现窗体大小变化
- MFC无边框的窗体实现用鼠标拖动窗体边缘实现窗体大小变化
- MFC无边框的窗体实现用鼠标拖动窗体边缘实现窗体大小变化
- MFC无边框的窗体实现用鼠标拖动窗体边缘实现窗体大小变化
- WPF Tips:无边框的CheckBox
- c#无边框窗口的入门级拖动实现
- Core data 数据分开存储 并简单加密
- WINCE6模块的安全性----签名/证书
- 黑马程序员_IO流
- WINCE6.0 180天试用结束解决办法
- Iframe的缺点
- Windows Form Tips: 无边框窗口实现用鼠标拖拽的功能
- cc2530 串口实验4--设置时间
- 针对WinCE6.0下繁多的补丁包该怎么打及WinCE6.0 R3安装步骤
- 致自己
- 最容易犯得错误
- 利用vs2005.net编写基于WinCE的DLL
- 谈互联网公司的公关技巧
- committing transaction
- WINCE下调试驱动的一般方法