C#實現具有Aero效果的窗體
阿新 • • 發佈:2019-02-20
看了一下,網上的教程與程式碼有點複雜…因此,查閱資料後,這篇文章就誕生了…
先看效果圖:
雖然執行起來很漂亮..不過,當你設計的時候,就是你頭痛的了…看下設計圖…嘿嘿嘿嘿….
主要程式碼:
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…不過這個不在討論範圍之內..哈哈哈哈