C# 通过Opacity隐藏背景窗体
引言
通过窗体弹出另一个窗体的时候,不想显示背后的窗体,怎么办?当然,可以通过hide()方法来隐藏窗体。这里介绍另一种方法通过控制Opacity,即,通过不透明度来控制窗体隐藏。
实现
可以看到每一个窗体的属性中的icon类别中有一项叫做Opacity的选项,他的用途就是改变窗体的透明度,准确的解释为控件的不透明度百分比。它的值是0%-100%,如果是0%就是完全透明,如果是100%就是完全不透明。
1、实现隐藏的设置和方法
- 设置属性
从效果上看,我们可以将不透明度设置为0,这样就可以将本窗体直接变为隐藏,当然也可以用代码来进行描述和设置和随时切换其透明度,这种方法给人感觉简单粗暴。
- 代码控制
代码控制时候要注意这个值是百分比,可以用小数表示。如0.5就是值50%
//将透明度设置为50%
Form.Opacity = 0.5
//将透明度设置为完全透明
Form.Opacity = 0
2、优缺点
虽然这个方法简单,然而,这个方法也是有明显的缺点,我们会发现所谓的隐藏并没有到达后台, 下面的任务栏仍然可以看到,因此,如果没需要有隐藏任务栏项目,就不太合适。但如果没有这种极致要求,只是是通过showDialog的方法弹出窗口时,父窗口想要隐藏,我认为用这种方法就很方便很合适。
小结
实现一个方法有多种不同的方法,调调大陆通罗马。每种方法都有自己优缺点,我们可以扬长避短,在不同的场景下使用最合适的方法来构建。