程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# WinForm實現Windows 7 Aero磨砂玻璃效果

C# WinForm實現Windows 7 Aero磨砂玻璃效果

編輯:C#入門知識

在Vista系統之後,微軟為窗體程序提供了Aero磨砂的效果,如下圖。那麼用C#如
何來實現這種磨砂效果呢?

 

代碼:

 System;
 System.Collections.Generic;
 System.ComponentModel;
 System.Data;
 System.Drawing;
 System.Text;
 System.Windows.Forms;
 System.Reflection;
 System.Runtime.InteropServices;



 WindowsFormsApplication1
{
     partial  Form1 : Form
    {
        
        [StructLayout(LayoutKind.Sequential)]
          MARGINS
        {
              Left;
              Right;
              Top;
              Bottom;
        }

        
        [DllImport("", PreserveSig = )]
           DwmExtendFrameIntoClientArea(IntPtr hwnd,  MARGINS
        margins);

        
        [DllImport("", PreserveSig = )]
           DwmIsCompositionEnabled();

        
           OnLoad(EventArgs e)
        {
             (DwmIsCompositionEnabled())
            {
                MARGINS margins =  MARGINS();
                margins.Right = margins.Left = margins.Top = margins.Bottom =
        .Width + .Height;
                DwmExtendFrameIntoClientArea(.Handle,  margins);
            }
            .OnLoad(e);
        }

        
           OnPaintBackground(PaintEventArgs e)
        {
            .OnPaintBackground(e);
             (DwmIsCompositionEnabled())
            {
                e.Graphics.Clear(Color.Black);
            }
        }

         Form1()
        {
            InitializeComponent();
        }
    }
}

 

 

 

這中效果的實現主要是調用了系統的dwmapi.dll。


dwmapi.dll是Microsoft Desktop Window Manager API(桌面窗口管理器DWM 的公用界面)的動態鏈接庫,正常文件,主要用作桌面效果的api。

 

DWM 是一種新界面,在除 Windows Vista Home Basic 之外的所有 Windows Vista 版本中均提供 DWM 界面。所以這種效果只能在Vista之後的系統中使用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved