C# WinForm拖动窗体 使用MouseDown事件
在我们使用Winform窗体的时候,由于不喜欢WinForm的边框样式的时候,希望用字自己的设置的样式来进行美观的渲染,这样的话就没有办法像Winform那样拖动窗体,在这里我发现一个好东西分享给大家
可以在窗体的上面放一个Panel控件,使用MouseDown事件
将代码放在Form1中
[DllImport("user32.dll")]public static extern bool ReleaseCapture();[DllImport("user32.dll")]public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);private const int VM_NCLBUTTONDOWN = 0XA1;//定义鼠标左键按下private const int HTCAPTION = 2;
在Panel中添加一下Panel_MouseDown中的代码,就可以随意的拖动的窗口了
private void Panel_MouseDown(object sender, MouseEventArgs e)
{
//为当前应用程序释放鼠标捕获
ReleaseCapture();
//发送消息 让系统误以为在标题栏上按下鼠标
SendMessage((IntPtr)this.Handle, VM_NCLBUTTONDOWN, HTCAPTION, 0);
}
C# WinForm拖动窗体 使用MouseDown事件相关推荐
- winform 拖动无边框窗体(调用Windows API)
第一步:将窗体的FormBoderStyle属性设置为None: 第二步:添加一个新类:Win32.cs 代码如下: 1 public class Win32 2 { 3 [DllImport(&qu ...
- C# Winform 实现窗体无系统边框,但是具有系统边框的所有功能,同时保证控件不闪烁
本人新手,想写个上位机,窗口能够实现最小化,最大化,拖动,改变大小等常用功能,Winform窗体的FormBorderStyle设置成sizable即可实现,但是窗体有自带的边框,不好看且无法编辑,想 ...
- WinForm开发,窗体显示和窗体传值相关知识总结
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm开发,把用到的相关知识整理如下 A.WinForm中窗体显示显示窗体可以有以下2种方法: Form.ShowDialo ...
- [转] C# Winform 拦截关闭按钮触发的事件
原文 C# Winform 拦截关闭按钮触发的事件 用户关闭软件时,软件一般会给"是否确认关闭"的提示. 通常,我们把它写在FormClosing 事件中,如果确定关闭,就关闭:否 ...
- winform php 交互,WinForm开发,窗体显示和窗体传值
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm开发,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDial ...
- 拖动窗体FormBorderStyle属性为None的窗体移动
winform窗体的样式很单一,不够漂亮,往往我们需要对窗体进行重写,但是我们又要保留在重写前窗体本身带的功能,例如拖动窗体的头进行移动之类的. 一下方式可以实现该方法: [DllImport(&qu ...
- Winform程序窗体间的跳转
关于Winform程序窗体间的跳转问题: 对于编程新手来讲,winform程序窗体间的跳转,经常会出现一些异常,或是弹出重复的窗口,如下图 下面给出一种方法,可以很好的避免掉这样的问题: 首先,在主程 ...
- WinForm禁用窗体自带的关闭功能
1.代码结构 2.实现代码 using System; using System.Windows.Forms;namespace WinFormForbidCloseDemo {/// <sum ...
- 怎样正确处理WinForm中Listview的ItemCheck事件
我很少写具体的对象应用心得,这次尝试一下. WinForm中Listview的ItemCheck事件,例子如下: private void lvwTables_ItemCheck(object s ...
最新文章
- “伪高管”是如何搞垮一个公司的?
- IIS 之 添加绑定域名 或 设置输入IP直接访问网站
- web直播方案总结:
- [Phonegap+Sencha Touch] 移动开发18 Sencha Touch项目通过phonegap打包后的程序名字的问题...
- 求平方根的算法 牛顿迭代法和二分法
- React-Native系列Android——Native与Javascript通信原理(一)
- 使用windbg排查一个内存溢出的问题
- 序列化的高阶认识-Transient 关键字
- springmvc rest风格化案例
- 【.NET Core项目实战-统一认证平台】第一章 功能及架构分析
- C++ 堆、栈、自由存储区、全局静态存储区和常量存储区
- android 拍照屏幕大小,Android Camera 找出屏幕的最佳尺寸大小
- AngularJS----服务,表单,模块
- python代码_抢球鞋?预测股市走势?淘宝秒杀?Python表示要啥有啥 - 街角的守望。...
- 个人技能总结7--Apache服务器反向代理,负载均衡,热备份+Tomcat配置
- java方法前面加上x_@Autowired 写在构造方法上
- flash的计算机知识,Flash CS6计算机动画设计教程
- 2022年JDK-8下载方法
- Unity 计算包围盒
- 论文阅读——SIPP: Safe Interval Path Planning for Dynamic Environments
热门文章
- 【H5】 拖拽3事件( onmousedown ,onmousemove ,onmouseup )
- http——三次握手四次挥手
- angularjs实现行事历
- openpyxl对execl操作(单元格边框、列宽、单元格内容对齐)
- JavaScript-流程控制语句(笔记)
- 成功跳槽字节跳动,详细的Java学习指南
- Android 网络框架
- three.js正投影相机OrthographicCamera
- 「Kafka核心源码剖析系列」4. 走进Kafka服务端(下)
- OpenCV 之 cvCvtColor (色彩空间转换)