Winform 简单实现关机背景变灰效果的对话框
来源:互联网 发布:网络名称大全 编辑:程序博客网 时间:2024/05/01 00:48
声明:这个方法是我自己想到的,没有借助任何其他文章,所以无论前人有没有相同或相似的实现方式,对我而言是原创。
进入正题:
最近在写框架,虽然控件写过不少,单对话框的风格没有做过。今天和同事聊天,说起关机背景变灰式的对话框感觉效果蛮不错的。回家后思考片刻有了下面的文章。
其实思路相当简单,在窗体和对话框之间再加一层透明的灰色层就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; } private void MiddleLayer_Load(object sender, EventArgs e) { Thread t = new Thread(() => { this.Invoke(new Action( () => { this.DialogResult = dlg.ShowDialog(this); })); }); t.IsBackground = true; t.Start(); }
2、添加DialogHelper类,该类中有一个静态方法:
public static DialogResult ShowDialog(Form caller, Form dlg) { MiddleLayer layer = new MiddleLayer(dlg); layer.Location = caller.PointToScreen(caller.ClientRectangle.Location); layer.Size = new System.Drawing.Size(caller.ClientRectangle.Width, caller.ClientRectangle.Height); //整个桌面变灰 //layer.WindowState = FormWindowState.Maximized; return layer.ShowDialog(); }
private void button2_Click(object sender, EventArgs e) { DialogResult dr = DialogHelper.ShowDialog(this, new Dialog()); MessageBox.Show(dr.ToString()); }
0 0
- Winform 简单实现关机背景变灰效果的对话框
- 弹出登录框背景变灰效果
- AndEngine图片变灰效果实现
- 弹出窗口悬浮,背景页面变灰,类似网易邮箱的半透明信息提示效果
- 弹出窗口悬浮,背景页面变灰,类似网易邮箱的半透明信息提示效果
- 背景变灰
- 背景变灰
- html 背景变灰
- 精灵变灰效果
- jquery实现弹出自定义对话框,父页面变灰
- 背景变灰的弹出框(窗口)
- 一个背景变灰的弹出框demo
- js弹出一个可拖拽的div+背景变灰
- cocos2d-x一个函数实现精灵变灰效果
- 把网页变灰效果!
- css使背景变半透明,和js结合在一起可以达到使背景动态半透明弹出对话框的效果
- [iuud8]基于cocos2dx3.2精灵变灰的shader效果
- 纯CSS Lightbox效果 (无需JS)-弹出层-背景变灰
- POJ 2785 4 Values whose Sum is 0 hash
- 二叉树遍历非递归实现
- 如何进行调研
- 迟来的处女作
- Hadoop 2.x.0集群安装与配置
- Winform 简单实现关机背景变灰效果的对话框
- 我写过的软件之TSE-背景介绍
- Tilemill + tilestream + mapbox.js 自制地图
- android adb shell 获取root权限
- python classs的一些知识
- String与StringBuffer效率的比较
- 智能指针scoped_ptr,shared_ptr,weak_ptr和auto_ptr的使用
- 【转】Hadoop自定义输入与输出格式
- web service architecture