用 C# Winform做出全透明的磨砂玻璃窗体效果代码
首先, 调用系统 API, 这里如果要引用神马的, 就不一一列出了, 大家自己引用一下.
代码如下:
[StructLayout(LayoutKind.Sequential)]
public struct MARGINS
{
public int Left;
public int Right;
public int Top;
public int Bottom;
}
[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern void DwmExtendFrameIntoClientArea
(IntPtr hwnd, ref MARGINS margins);
[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern bool DwmIsCompositionEnabled();
protected override void OnLoad(EventArgs e)
{
if (DwmIsCompositionEnabled())
{
MARGINS margin = new MARGINS();
margin.Right = margin.Left = margin.Bottom = margin.Top = -1;
DwmExtendFrameIntoClientArea(this.Handle, ref margin);
}
base.OnLoad(e);
}
protected override void OnPaintBackground(PaintEventArgs e)
{
base.OnPaintBackground(e);
if (DwmIsCompositionEnabled())
{
e.Graphics.Clear(Color.Black);
}
}
最后.. 木有了, F5 运行吧~
相关推荐
-
C# 动画窗体(AnimateWindow)的小例子
复制代码 代码如下: using System;using System.Runtime.InteropServices;using System.Windows.Forms; namespace WinFormTitle{ public partial class FormTitle : Form { [DllImport("user32.dll", EntryPoint = "AnimateWindow")] privat
-
C# 开发圆角控件(窗体)的具体实现
最近在做卡片视图的程序,要求将控件做成带有圆角的效果,下面是我在网上查找的资料,经过测试,确定可以实现功能.其中方法三既适应于控件,也适应于窗体. 先上传效果图: 方法一: 增加命名空间:using System.Drawing.Drawing2D; 添加方法如下:当然各角的点可根据需要确定. 复制代码 代码如下: private void Type(Control sender, int p_1, double p_2) { GraphicsPath oP
-
C#编程实现带有Aero效果的窗体示例
本文实例讲述了C#编程实现带有Aero效果的窗体.分享给大家供大家参考,具体如下: using System.Runtime.InteropServices;//引用,放在哪不用说了吧.... [DllImport("dwmapi.dll")] public static extern int DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS pMarinset); [StructLayout(LayoutKind.Sequen
-
C# 透明窗体制作实现方法比较分析
制作透明窗体办法有好几种,各有优缺点. 我们先来看看C#本身提供的办法 1:通过设置窗体的 TransparencyKey实现 例:窗体中的白色会变成透明 复制代码 代码如下: this.BackColor =Color.White; this.TransparencyKey = Color.White; 2:通过设置窗体的 Opacity 实现 例:窗体的透明度为50% 复制代码 代码如下: this.Opacity = 0.5; 为了更好说明问题,我们先看一个实例. (1)新建一个winfo
-
C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法
本文实例讲述了C# Winform实现捕获窗体最小化.最大化.关闭按钮事件的方法,主要是通过重写WndProc来实现的.分享给大家供大家参考.具体方法如下: 主要功能代码如下: const int WM_SYSCOMMAND = 0x112; const int SC_CLOSE = 0xF060; const int SC_MINIMIZE = 0xF020; const int SC_MAXIMIZE = 0xF030; protected override void WndProc(ref
-
C# 无边框窗体边框阴影效果的简单实现
通过下面代码在构造函数中调用方法 SetShadow(); 即可实现无边框窗体的阴影效果了 需要添加命名空间 using System.Runtime.InteropServices; 复制代码 代码如下: private const int CS_DropSHADOW = 0x20000; private const int GCL_STYLE = (-26); [DllImport("user32.dll", CharSet = CharSet.Auto)]
-
C# SkinEngine控件 给窗体添加皮肤的方法
自己写的一个日历记事本效果图 具体步骤: 1.添加控件SkinEngine. 1.右键"工具箱"."添加选项卡",取名"皮肤". 2.右键"皮肤","选择项"弹出对话框. 3.点击"浏览",找到IrisSkin2.dll,这时你会发现 SkinEngine 的控件已经被打上勾 - 确定.2.将 SkinEngine 控件添加到窗体上.3.把皮肤文件(以ssk为后缀名)放在&quo
-
C#实现窗体淡入淡出效果的方法总结
1. 复制代码 代码如下: private void Form1_Load(object sender, System.EventArgs e) for(double d=0.01; d< 1; d+=0.02) { System.Threading.Thread.Sleep(1); Application.DoEvents(); this.Opacity=d; this.Refresh(); } 2.
-
C# WINFORM 强制让窗体获得焦点的方法代码
复制代码 代码如下: //调用API [System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, ExactSpelling = true)] public static extern IntPtr GetForegroundWindow(); //获得本窗体的句柄 [System.Runtime.InteropService
-
C# WinForm实现Win7 Aero透明效果代码
在Vista系统之后,微软为窗体程序提供了Aero磨砂的效果,如下图.那么用C#如何来实现这种磨砂效果呢? 背景为我的桌面 那先上代码吧: [StructLayout(LayoutKind.Sequential)] public struct MARGINS { public int Left; public int Right; public int Top; public int Bottom; } [DllImport("dwmapi.dll", PreserveSig = fa
随机推荐
- Flex自定义右键菜单具体实现
- jQuery 开发之EasyUI 添加数据的实例
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- js实现网页抽奖实例
- 利用线程实现动态显示系统时间
- Repeater怎么实现多行间隔显示分隔符
- 详解PHP处理密码的几种方式
- 探讨:innodb与myisam在存储上有何特点和区别
- 不是原型继承那么简单!!prototype的深度探索
- PHP图片等比缩放类SimpleImage使用方法和使用实例分享
- 引入CSS样式的五种方式
- 学习使用grunt来打包JavaScript和CSS程序的教程
- python中input()与raw_input()的区别分析
- Sql Server 分组统计并合计总数及WITH ROLLUP应用
- jQuery结合HTML5制作的爱心树表白动画
- 根据key删除数组中指定的元素实现方法
- JS实现文字掉落效果的方法
- 高手递招:删除系统顽固文件技巧
- 解决Linux中ROOT用户删除普通用户报普通用户已登录问题
- AndroidStudio 如何使用aar详解