C# WinForm實(shí)現(xiàn)Win7 Aero透明效果代碼
在Vista系統(tǒng)之后,微軟為窗體程序提供了Aero磨砂的效果,如下圖。那么用C#如何來實(shí)現(xiàn)這種磨砂效果呢?

背景為我的桌面
那先上代碼吧:
[StructLayout(LayoutKind.Sequential)]
public struct MARGINS
{
public int Left;
public int Right;
public int Top;
public int Bottom;
}
[DllImport("dwmapi.dll", PreserveSig = false)]
static extern void DwmExtendFrameIntoClientArea(IntPtr hwnd, ref MARGINS margins);
[DllImport("dwmapi.dll", PreserveSig = false)]
static extern bool DwmIsCompositionEnabled();
public Form1()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
if (DwmIsCompositionEnabled())
{
MARGINS margins = new MARGINS();
margins.Right = margins.Left = margins.Top = margins.Bottom = this.Width + this.Height;
DwmExtendFrameIntoClientArea(this.Handle, ref margins);
}
base.OnLoad(e);
}
protected override void OnPaintBackground(PaintEventArgs e)
{
base.OnPaintBackground(e);
if (DwmIsCompositionEnabled())
{
e.Graphics.Clear(Color.Black);
}
}
這中效果的實(shí)現(xiàn)主要是調(diào)用了系統(tǒng)的dwmapi.dll。
dwmapi.dll是Microsoft Desktop Window Manager API(桌面窗口管理器DWM 的公用界面)的動(dòng)態(tài)鏈接庫,正常文件,主要用作桌面效果的api。DWM 是一種新界面,在除 Windows Vista Home Basic 之外的所有 Windows Vista 版本中均提供 DWM 界面。
所以這種效果只能在Vista之后的系統(tǒng)中使用。
- C# 無邊框窗體邊框陰影效果的簡單實(shí)現(xiàn)
- C#實(shí)現(xiàn)窗體淡入淡出效果的方法總結(jié)
- 用 C# Winform做出全透明的磨砂玻璃窗體效果代碼
- C# 開發(fā)圓角控件(窗體)的具體實(shí)現(xiàn)
- C# Winform實(shí)現(xiàn)捕獲窗體最小化、最大化、關(guān)閉按鈕事件的方法
- C# WINFORM 強(qiáng)制讓窗體獲得焦點(diǎn)的方法代碼
- C# SkinEngine控件 給窗體添加皮膚的方法
- C# 透明窗體制作實(shí)現(xiàn)方法比較分析
- C# 動(dòng)畫窗體(AnimateWindow)的小例子
- C#編程實(shí)現(xiàn)帶有Aero效果的窗體示例
相關(guān)文章
Unity實(shí)現(xiàn)滑動(dòng)更換界面效果
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)滑動(dòng)更換界面效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
c#委托把方法當(dāng)成參數(shù)(實(shí)例講解)
本篇文章主要是對(duì)c#委托把方法當(dāng)成參數(shù)的實(shí)例代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01
c#只讀字段和常量的區(qū)別,以及靜態(tài)構(gòu)造函數(shù)的使用實(shí)例
這篇文章主要介紹了c#只讀字段和常量的區(qū)別,以及靜態(tài)構(gòu)造函數(shù)的使用實(shí)例,有需要的朋友可以參考一下2013-12-12
深入多線程之:雙向信號(hào)與競(jìng)賽的用法分析
本篇文章是對(duì)雙向信號(hào)與競(jìng)賽的用法進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下2013-05-05

