WinForm特效之桌面上的遮罩层实现方法
本文实例讲述了WinForm特效之桌面上的遮罩层实现方法,分享给大家供大家参考之用。具体如下:
这个一个窗体特效,可以帮你了解几个windowsapi函数。
效果:windows桌面上增加一个简单的遮罩层,其中WS_EX_TRANSPARENT比较重要,它实现了鼠标穿透的功能。
主要功能代码如下:
usingSystem;
usingSystem.Drawing;
usingSystem.Windows.Forms;
usingSystem.Runtime.InteropServices;
namespaceWindowsApplication40
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
[DllImport("user32.dll",EntryPoint="GetWindowLong")]
publicstaticexternlongGetWindowLong(IntPtrhwnd,intnIndex);
[DllImport("user32.dll",EntryPoint="SetWindowLong")]
publicstaticexternlongSetWindowLong(IntPtrhwnd,intnIndex,longdwNewLong);
[DllImport("user32",EntryPoint="SetLayeredWindowAttributes")]
privatestaticexternintSetLayeredWindowAttributes(IntPtrHandle,intcrKey,bytebAlpha,intdwFlags);
constintGWL_EXSTYLE=-20;
constintWS_EX_TRANSPARENT=0x20;
constintWS_EX_LAYERED=0x80000;
constintLWA_ALPHA=2;
privatevoidForm1_Load(objectsender,EventArgse)
{
this.BackColor=Color.Silver;
this.TopMost=true;
this.FormBorderStyle=FormBorderStyle.None;
this.WindowState=FormWindowState.Maximized;
SetWindowLong(Handle,GWL_EXSTYLE,GetWindowLong(Handle,GWL_EXSTYLE)|WS_EX_TRANSPARENT|WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle,0,128,LWA_ALPHA);
}
}
}
希望本文所述对大家C#程序设计的学习有所帮助。
热门推荐
2 贫困户祝福语简短
10 圣诞祝福语简短文字
11 离别简短的祝福语大全
12 过节文案成语祝福语简短
13 祝福语写给自己的简短
14 牛年除夕祝福语简短的
15 新春进门祝福语大全简短
16 怎么说祝福语简短
17 老爸生日暴富祝福语简短
18 周年蛋糕祝福语简短英语