WINFORM 无边框窗体 阴影与移动
//窗体移动API
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam);
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_MOVE = 0xF010;
public const int HTCAPTION = 0x0002;
[DllImport("user32")]
private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);
private const int WM_SETREDRAW = 0xB;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
	if (this.WindowState == FormWindowState.Normal)
	{
		ReleaseCapture();
		SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
	}
}
窗体阴影
1、添加命名空间:
using System.Runtime.InteropServices;
2、定义常量值及函数:
private const int CS_DropSHADOW = 0x20000;  
private const int GCL_STYLE = (-26);  
[DllImport("user32.dll", CharSet = CharSet.Auto)]  
public static extern int SetClassLong(IntPtr hwnd, int nIndex, int dwNewLong);  
[DllImport("user32.dll", CharSet = CharSet.Auto)]  
public static extern int GetClassLong(IntPtr hwnd, int nIndex);
3、构造方法下引用:
SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW);
WINFORM 无边框窗体 阴影与移动的更多相关文章
- C#WinForm无边框窗体移动方法、模仿鼠标单击标题栏移动窗体位置
		C#WinForm无边框窗体移动方法.模仿鼠标单击标题栏移动窗体位置 这里介绍俩种办法 方法一:直接通过修改窗体位置从而达到移动窗体的效果 方法二:直接伪装发送单击任务栏消息,让应用程序误以为单击任务 ... 
- C#自定义按钮、自定义WinForm无边框窗体、自定义MessageBox窗体
		C#自定义按钮.自定义WinForm无边框窗体.自定义MessageBox窗体 C#自定义Button按钮控件 效果展示 C#自定义Winform无边框窗体 效果展示 C#自定义无边框MessageB ... 
- C#自定义Winform无边框窗体
		C#自定义Winform无边框窗体 在实际项目中,WinForm窗体或者控件不能满足要求,所以就需要自己设计窗体等,当然设计界面可以用的东西很多,例如WPF.或者一些第三方的库等.本例中将采用WinF ... 
- 【C#】使用DWM实现无边框窗体阴影或全透窗体
		1.无边框窗体阴影,win7(需要开启Aero效果)及以上系统 public class LdwmForm : Form { public LdwmForm() { Initialize(); } / ... 
- WinForm无边框窗体移动方法
		C#WinForm无边框窗体移动方法.模仿鼠标单击标题栏移动窗体位置 这里介绍俩种办法 方法一:直接通过修改窗体位置从而达到移动窗体的效果 方法二:直接伪装发送单击任务栏消息,让应用程序误以为单击任务 ... 
- C#WinForm无边框窗体移动----模仿鼠标单击标题栏移动窗体位置
		C#WinForm无边框窗体移动方法.模仿鼠标单击标题栏移动窗体位置 这里介绍俩种办法 方法一:直接通过修改窗体位置从而达到移动窗体的效果 方法二:直接伪装发送单击任务栏消息,让应用程序误以为单击任务 ... 
- WinForm 无边框窗体和timer控件
		一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入,移出,按下三个事件会让按钮改变样式 如何获取图 ... 
- WinForm 无边框窗体改变尺寸及移动窗体
		#region 无边框窗体移动改变大小 [DllImport("user32.dll")] public static extern bool ReleaseCapture(); ... 
- Winform无边框窗体的移动和阴影
		//窗体移动API [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport ... 
随机推荐
- Apache CommonLogging + Log4J
			package cn.byref.demo.logging; import org.apache.commons.logging.Log; import org.apache.commons.logg ... 
- HANA Architecture
			1 HANA 是基于内存计算的.行列都支持.使用列存储,列存储的特点是高压缩,查询快,节约空间, ---SAP HANA supports both, but is particularly opti ... 
- inndb索引原理
			###详解b+树如上图,是一颗b+树,关于b+树的定义可以参见B+树,这里只说一些重点,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含 ... 
- 循环比赛日程表(match)(分治)
			[问题描述] 设有N个选手进行循环比赛,其中N=2M,要求每名选手要与其他N-1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N-1天,要求每天没有选手轮空. 输入:M 输 ... 
- Eureka详解
			该章节紧接第三章,主要是对一些理论上的指导,帮助更好的理解服务治理. 基础架构 eureka服务治理的基础架构包含三个要素: 1)服务注册中心:eureka提供服务端,提供服务的注册与发现功能. 注: ... 
- jenkins 参数化构建,获取git分支
			def heads= ("git ls-remote -h git@gitlab.com:*.git").execute()def headlist=heads.text.read ... 
- 容器中跨主机的网络方案-flannel
			容器中的网络是建立docker集群的重要内容. 本文将介绍如何用flannel实现容器的多节点互通. 下图是flannel的实现原理,摘自: http://docker-k8s-lab.readthe ... 
- 在Mac系统下如何恢复SourceTree全局忽略的文件
			在家目录“~”下编辑 “.gitignore_global ” 文件即可:vim .gitignore_global 
- Win8 安装.Net Framework3.5(2.0,3.0)组件二种方式
			第一种: 通过命令+win8映像文件 找到系统盘cmd文件:C:\WINDOWS\system32\Cmd.exe 右键“以管理员身份运行”,然后弹出一个黑框框. 黑框框里面输入一下命令: dism. ... 
- 四川第七届 E Rectangle
			Rectangle frog has a piece of paper divided into nn rows and mm columns. Today, she would like to dr ... 
