我有一个表单,我将它的不透明度设置为50%,如下所示:
this.Opacity = 0.5D; <--this==Form
Run Code Online (Sandbox Code Playgroud)
我的问题是表格上的所有内容都是不透明度为50%
我在表单上有两个按钮,我希望它们没有Opacity.
我知道this.Opacity包括所有控件和由于某种原因的图形
我的问题是,如何排除控件的不透明度?
示例图片:

谢谢!
由于Control没有Opacity属性和加号,大多数控件都不支持透明色,那么一个可行的解决方案就是:
创建一个Form被调用的MainForm并放置您要排除的所有控件.
1.1将两者BackColor和TransparencyKey属性设置MainForm为相同的颜色,例如Color.Red
创建另一个名为的表单,TransparentForm并放置必须变为透明的所有控件.设置ShowInTaskbar属性False.
在MainForm Load事件中显示TransparentForm并发送回来.
private void MainForm_Load(object sender, EventArgs e)
{
TransparentForm form = new TransparentForm();
form.Opacity = 0.5D;
form.Show();
form.SendToBack();
}
Run Code Online (Sandbox Code Playgroud)

两种形式的控件的位置必须是这样的,当组合时,它显示适当的用户界面.
| 归档时间: |
|
| 查看次数: |
2735 次 |
| 最近记录: |