Winform自定义无边框窗体
目的:
1、将窗体设置成无边框,如下面效果图
2、该无边框窗体添加了窗体放大、缩小(可以根据需要只能横向放大缩小 或者 竖向放大缩小)的功能
- Point vPoint = new Point((int)m.LParam & 0xFFFF, (int)m.LParam >> 16 & 0xFFFF);
- vPoint = PointToClient(vPoint);
- if (vPoint.X <= 5)
- {
- if (vPoint.Y <= 5)
- {
- m.Result = (IntPtr)GuyingHtTopLeft;
- }
- else
- {
- m.Result = vPoint.Y >= ClientSize.Height - 5 ? (IntPtr)GuyingHtBottomLeft : (IntPtr)GuyingHtLeft;
- }
}
else if (vPoint.X >= ClientSize.Width - 5)- {
- if (vPoint.Y <= 5)
- {
- m.Result = (IntPtr)GuyingHtTopRight;
- }
- else
- {
- m.Result = vPoint.Y >= ClientSize.Height - 5 ? (IntPtr)GuyingHtBottomRight : (IntPtr)GuyingHtRight;
- }
- }
- else if (vPoint.Y <= 5)
{- m.Result = (IntPtr)GuyingHtTop;
- }
- else if (vPoint.Y >= ClientSize.Height - 5)
- {
- m.Result = (IntPtr)GuyingHtBottom;
- }
3、添加鼠标左键点击
- case 0x0201: //鼠标左键按下的消息
- if ( /*this.*/Draggable)
- {
- m.Msg = 0x00A1; //更改消息为非客户区按下鼠标
- m.LParam = IntPtr.Zero; //默认值
- m.WParam = new IntPtr(2); //鼠标放在标题栏内
- }
- base.WndProc(ref m);
- break;
效果图
源码下载地址:
https://download.csdn.net/download/u011392711/11109822
Winform自定义无边框窗体的更多相关文章
- winform(无边框窗体与timer)
一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要放置的控件可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入(pictureBox1_MouseE ...
- C# 自定义无边框窗体阴影效果
工作中我们会经常遇到自定义一些窗口的样式,设置无边框然后自定义关闭.最大化等其他菜单,但是这样就失去了Winform自带的边框阴影效果,下面这个方法能让无边框增加阴影效果.代码如下: using Sy ...
- winform拖动无边框窗体
这个无边框拖动船体,代码很少,却总是记不住,于是就在网上搜了这段代码,记录一下,省的再忘 using System; using System.Collections.Generic; using S ...
- C# WinForm 拖动无边框窗体 改变无边框窗体尺寸
经常遇到这种情况.窗体的边框去掉了.然后种种问题就出来了:不能拖动.不能改变窗体大小.不能......当然.肯定有解决方案滴*^_^*今天的目标就是:可以直接拖动没有边框的窗体.可以直接拉拽窗体改变其 ...
- winform 拖动无边框窗体(调用Windows API)
第一步:将窗体的FormBoderStyle属性设置为None: 第二步:添加一个新类:Win32.cs 代码如下: public class Win32 { [DllImport("use ...
- Winform 实现无边框窗体移动功能
#region 窗体移动 [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImp ...
- C#winform拖动无边框窗体
private bool isMouseLeftKeyDown = false; private Point mousePointToClient = new Point();//相对于本窗体鼠标位置 ...
- 【转】【WPF】 WPF 调用API修改窗体风格实现真正的无边框窗体
WPF中设置无边框窗体似乎是要将WindowStyle设置为None,AllowTransparency=true,这样才能达到WinForm中无边框窗体的样式.但是AllowTransparency ...
- WPF 调用API修改窗体风格实现真正的无边框窗体
原文:WPF 调用API修改窗体风格实现真正的无边框窗体 WPF中设置无边框窗体似乎是要将WindowStyle设置为None,AllowTransparency=true,这样才能达到WinForm ...
随机推荐
- ExecutorCompletionService分析及使用
当我们通过Executor提交一组并发执行的任务,并且希望在每一个任务完成后能立即得到结果,有两种方式可以采取: 方式一: 通过一个list来保存一组future,然后在循环中轮训这组future,直 ...
- SpringMVC中利用@CrossOrigin注解解决ajax跨域请求的问题
1. 什么是跨域 跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求. 2. 跨域的应用情景 当使用前后端分离,后 ...
- JS中清空字符串前后空格
在JS 操作的时候 长期会有对字符串的操作, 但是在JS 中不像在C#中 有字符串的方法 Trim() 来对字符串进行处理 . 所以自己写一个对字符串前后清楚空格的方法还是有必要的 以免以后忘记了 ...
- NRPE介绍
一.简介 1.NRPE介绍 NRPE是Nagios的一个功能扩展,它可在远程Linux/Unix主机上执行插件程序.通过在远程服务器上安装NRPE插件及Nagios插件程序来向Nagios监控平台提供 ...
- Spring的两种任务调度Scheduled和Async
Spring提供了两种后台任务的方法,分别是: 调度任务,@Schedule 异步任务,@Async 当然,使用这两个是有条件的,需要在spring应用的上下文中声明<task:annotati ...
- 2101: Bake Off
Description Davy decided to start a weekend market stall where he sells his famous cakes. For the fi ...
- 如何解决python升级后yum报错
当我们yum命令的时候,会提示 "File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxEr ...
- Python logger 没打出行数
# !/user/bin/python # -*- coding: utf-8 -*- ''' subprocess : 需要在linux平台上测试 shell logging ''' import ...
- 对象和XML文件的转换
很多时候,我们开发程序都需要使用到对象的XML序列化和反序列化,对象的XML序列化和反序列化,既可以使用XML对象(XmlDocument)进行操作,也可以使用XmlSerializer进行操作,两个 ...
- logger.go
package app //日志接口 type Logger interface { Output(maxdepth int, s string) error }