声明:这个方法是我自己想到的,没有借助任何其他文章,所以无论前人有没有相同或相似的实现方式,对我而言是原创。
进入正题:
最近在写框架,虽然控件写过不少,单对话框的风格没有做过。今天和同事聊天,说起关机背景变灰式的对话框感觉效果蛮不错的。回家后思考片刻有了下面的文章。
其实思路相当简单,在窗体和对话框之间再加一层透明的灰色层就ok了。这一层用什么来做,方法很多,panel、picturebox等都可以,我选择使用form来做,form自带Opacity属性,简单、方便。
实现步骤:
1、添加一个窗体,取名为MiddleLayer。将BackColor改为Gray;将FormBorderStyle设置为None;将Opacity设置为35%(根据自己喜好自己设置透明度);将ShowIcon和ShowInTaskbar设置为False,使该窗体不会在桌面窗体栏出现;将StartPosition设置为Manual。
然后在MiddleLayer.cs中添加如下代码:
private Form dlg = null;
public MiddleLayer(Form dlg)
{
InitializeComponent();
this.dlg = dlg;
}
pr