c#桌面程序的窗口美化少不了自己重绘窗口,去掉标题栏自己添加元素是最简单的实现,不过没有了标题栏鼠标拖动窗体活动成了问题,百度搜到两种c#实现重绘的方法。

一、重绘WndProc

 1 protected override void WndProc(ref Message m)
 2 {
 3 if (m.Msg == 0x0201) //鼠标左键按下去的消息
 4 {
 5 m.Msg = 0x00A1; //更改消息为非客户区按下鼠标
 6 m.LParam = IntPtr.Zero; //默认值
 7 m.WParam = new IntPtr(2); //鼠标放在标题栏内
 8 }
 9 base.WndProc(ref m);
10 }

二、调用API函数

 1 using System.Runtime.InteropServices;
 2 //然后,在程序中声明我们要用到的API函数及要用到的参数常量。
 3
 4 [DllImport("user32")]
 5 private static extern bool ReleaseCapture();
 6
 7 [DllImport("user32")]
 8 private static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
 9
10 public const int WM_SYSCOMMAND = 0x0112;
11 public const int SC_MOVE = 0Xf010;
12 public const int HTCAPTION = 0x0002;
13
14 //其中,WM_SYSCOMMAND常量代表要向窗口发送消息,SC_MOVE常代表要向窗口发送移动的消息。
15 //然后,接下来就很简单了。在Form的MouseDown事件中加入以下代码即可:
16
17 ReleaseCapture();
18 SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION,0);

转载于:https://www.cnblogs.com/mlive/archive/2012/08/29/2662807.html

c#无标题窗口的拖动相关推荐

  1. qt禁止拖动_[Qt]QMdiArea,无框架窗口的拖动

    0:QMdiArea中添加子窗口后,想固定or调整窗口的大小 需要在addSubWindow()函数调用后返回子窗口的指针,然后再设置子窗口的大小 注意设置imagelabel的大小是没有效果的,im ...

  2. 【C++·Qt】Qt透明无边框窗口以及拖动

    窗口透明  1.窗口整体透明(包含其子空控件) //窗口以及子控件都透明 //setAttribute(Qt::WA_WState_WindowOpacitySet); //网上说直接设置不起作用,需 ...

  3. 最简单的方式实现QML无边框窗口边缘拖动调整大小

    前言 使用Qt在开发桌面程序时,通常会去除默认的程序边框,从而实现自定义的标题栏.然而当设置窗口属性为Qt.FramelessWindowHint后,窗口的拖动,以及在边缘拖动缩放的功能就没有了,在以 ...

  4. python元组启蒙半透明窗口无标题窗口tkinter

    用Python制作的幻灯片类型的作品,用来教Python元组启蒙的,还要学习几个常见的错误类型,以下是完整源代码. 本程序需要sprites模块支持,安装方法为在命令提示符下输入以下命令安装: pip ...

  5. Perform 浮动工具栏 无标题窗口的移动

    //浮动工具栏  { 窗体是否要隐藏,重要的是要判断是否在操作中, 通过窗体的Active属性,可以确定窗体是否具有焦点. 在窗体有焦点时,该窗体正在被操作, 这时需要完全显示在屏幕当中: 如果窗体没 ...

  6. MFC无边框对话框实现拖动

    解决无标题栏窗口的拖动问题有两种方案,一种方案是使用常规思路来处理鼠标拖拽事件,当窗口获得WM_LBUTTONDOWN(OnLButtonDown)时,通过设置标志并调用CWnd::SetCaptur ...

  7. C# 系统应用之无标题窗体移动的两种方法

    在做项目界面设计中,常常为了美观需要设置窗体属性"FormBorderStyle"(窗体边框和标题栏外观)为None无标题窗口.此时隐藏标题的窗口怎样实现移动呢?我根据自己的项目从 ...

  8. QT实现可移动和改变尺寸的无边框窗口

    2019独角兽企业重金招聘Python工程师标准>>> 实现QT无边框窗口的拖动,尺寸改变.需要的时候从该类继承,派生类需要定义为QWidget. 头文件: #ifndef SIZE ...

  9. 无标题栏窗口的实现拖动,和边的拉伸功能

    本文的功能实现,参考了链接:https://blog.csdn.net/Ternence_God/article/details/100150377,图片也是来自其. 引言 创建的程序采用系统窗口,直 ...

  10. MFC修改窗口无标题和标题信息,修改执执行文件图标

    一.创建MFC后 窗口显示的是 无标题-工程名 修改方法在网上看到了几种,下面介绍下比较简单的一种: 1.在MianFrame.c文件中找到这个函数 BOOL CMainFrame::PreCreat ...

最新文章

  1. 为什么在C#中捕获并抛出异常?
  2. 借助Spring站点开始一个spring项目
  3. Spring AOP相关术语解释及简单使用
  4. 【蓝桥杯Java_C组·从零开始卷】第一节、环境与变量类型运算符与类型分析
  5. SDNU 1085.爬楼梯再加强版(矩阵快速幂)
  6. 计算机网络--从五层模型开始(完善中)
  7. 深入解析常量池与装拆箱机制
  8. 学python电脑硬件_2020 python学习第一天————编程语言及计算机介绍
  9. 动态添加和删除 ListView 项
  10. 剑指offer--面试题10
  11. MindNode 5 for Mac(思维导图)中文版
  12. margin-left:10px; 不同浏览器距离为什么不一样?
  13. layui 主动验证表单规则
  14. 全志f1c100s 开发环境搭建
  15. 社群运营:让群不死,付费粉丝多次转化的模式探讨
  16. PHP7.2手册(最新版)
  17. 3D建模游戏动漫模型制作软件都有哪些?最全解析,工具免费领
  18. 优测云服务平台分享开源自动化测试框架,快快get起来
  19. android_54a3,碉堡了,连神画Y1投影仪都可以跑android大型游戏N.0.V.A3
  20. c语言复合赋值表达式题目,C语言中复合赋值运算,表达式等知识.doc

热门文章

  1. pc端字体大小自适应几种方法
  2. 解析json结构绘制canvas
  3. Blob(二进制)、byte[]、long、date之间的类型转换
  4. windbg调试C#代码(二)
  5. bzoj4172: 弹珠
  6. CSS3 Transform 变形
  7. c += c-- | ++b;
  8. 第二节--PHP5 的对象模型 -- Classes and Objects in PHP5 [2](转)
  9. 视觉SLAM之词袋(bag of words) 模型与K-means聚类算法浅析
  10. FindBugs-IDEA插件的使用