C#实现具有Aero效果的窗体

news/2024/11/18 10:42:25/


看了一下,网上的教程与代码有点复杂…因此,查阅资料后,这篇文章就诞生了…

先看效果图:

虽然运行起来很漂亮..不过,当你设计的时候,就是你头痛的了…看下设计图…嘿嘿嘿嘿….

主要代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System.Runtime.InteropServices; //引用,放在哪不用说了吧....
[DllImport( "dwmapi.dll" )]
public static extern int DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS pMarinset);
[StructLayout(LayoutKind.Sequential)]
public struct MARGINS
{
     public int Right;
     public int left;
     public int Top;
     public int Bottom;
}
private void Form1_Load( object sender, EventArgs e)
{
     this .BackgroundImage = null ;
     MARGINS margins = new MARGINS();
     margins.left = -1;
     margins.Right = -1;
     margins.Top = -1;
     margins.Bottom = -1;
     IntPtr hwnd = Handle;
     int result = DwmExtendFrameIntoClientArea(hwnd, ref margins);
     this .BackColor = Color.Black;
     this .label1.Text = "大家好!我是落落。。。" ;
     this .label1.BackColor = Color.Transparent;
     this .label1.ForeColor = Color.White;
}

主要就是引用DLL文件…通过系统的API来实现…

只是实现了Aero效果,因为只能在Vista于Win7下可以,所以要做系统的判断与是否开启Aero…不过这个不在讨论范围之内..哈哈哈哈


http://www.ppmy.cn/news/696426.html

相关文章

WPF Aero Glass Window

WPF Aero Glass Window 原文: WPF Aero Glass Window 用法 Win7 DwmSetWindowAttribute functionWin10 SetWindowCompositionAttribute代码 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Runtime.InteropServices;5 using System.Te…

SPOJ AEROLITE

题目链接: http://www.spoj.com/problems/AEROLITE/en/ -------------------------------------------------------------------------------------- 虽然没有明确的区间,但做法还是和区间$DP$一样, 将左右两个区间合并成一个大区间 为了防止重复统计,每次左区间必须是有一个括…

RDP的AERO

RDP 版本7601&#xff08;win7&#xff09; 只需要客户端支持AERO&#xff0c;则RDP连上去就支持AERO。 经测试不支持3D <script>window._bd_share_config{"common":{"bdSnsKey":{},"bdText":"","bdMini":"2&quo…

css3 仿aero,让Qt支持Win7的Aero和毛玻璃效果

Qt5增加了许多特性&#xff0c;其中 Qt Windows Extras 模块就增加了对Win7 Aero 效果的支持。 官网的介绍如下&#xff1a; Qt Windows Extras provide classes and functions that enable you to use miscellaneous Windows-specific functions. For example, you can conver…

UE4/5用GeneratedDynamicMeshActor创建多个模型,并发生Boolean(两个网格体之间的,有3种模式)

目录 制作 只创建一个球&#xff1a; 效果&#xff1a; 制作多个效果&#xff1a; 制作&#xff1a; 效果&#xff1a; 代码&#xff1a; 一代码&#xff1a; 二代码&#xff1a; 制作 假如我们创建两个模型&#xff0c;第一个是之前就创建的正方体&#xff0c;而第二…

微信小程序全局配置API域名和url

微信小程序和后台进行交互是通过API请求数据,所以API请求地址的管理 就非常重要,如果在wx.request的时候使用写url地址的方式,那后面要是api地址变化了,就要到每个有请求的地方进行修改url,是大项目的话就会很麻烦,如果配置了全局请求地址修改起来就简单很多。 1.项目根目…

决策树 ID3 手工推导

掌握决策树ID3算法的原理&#xff0c;通过增益熵实现手工推导的过程。 参考案例&#xff1a;https://cuijiahua.com/blog/2017/11/ml_2_decision_tree_1.html 机器学习实战教程(二)&#xff1a;决策树基础篇之让我们从相亲说起 决策树 ID3 手工推导 决策树 ID3 简介 ID3作为一种…

Node.js模块化加载机制

优先从缓存中加载 模块在第一次加载后会被缓存。这也意味着多次调用 require() 不会导致模块的代码被执行多次 注意:不论是内置模块、用户自定义模块、还是第三方模块&#xff0c;它们都会优先从缓存中加载&#xff0c;从而提高模块的加载效率 $就像下方图中测试 内置模块…