我有一个表单,我将它的不透明度设置为50%,如下所示:
this.Opacity = 0.5D; <--this==Form
我的问题是表单上的所有内容都是不透明度为50%
我在表单上有两个按钮,我希望它们没有不透明度。
我知道this.Opacity
包含了所有控件,并且出于某种原因也包含了图形
我的问题是,如何排除控件的不透明度?
示例图片:
谢谢!
答案 0 :(得分:5)
由于Control
没有Opacity
属性,而且大多数控件都不支持透明色,因此可以使用以下方法:
创建名为Form
的{{1}}并放置您要排除的所有控件。
1.1将MainForm
的{{1}}和BackColor
属性设置为相同的颜色,例如TransparencyKey
创建另一个名为MainForm
的表单,并放置必须变为透明的所有控件。将Color.Red
属性设置为TransparentForm
。
在ShowInTaskbar
False
事件中显示MainForm
并将其发回。
Load
两种形式的控件的位置必须是这样的,当组合时,它显示正确的用户界面。
答案 1 :(得分:-1)
创建一个C#项目并添加3个名为
的表单并为&#34; MAIN&#34;添加以下代码表单加载事件;
private void MAIN_Load(object sender, EventArgs e)
{
Child frm1 = new Child();
BACKGOUND frm2 = new BACKGOUND();
frm2 .WindowState = System.Windows.Forms.FormWindowState.Maximized;
frm2.Opacity = 0.5;
frm2.Show();
frm1.ShowDialog();
frm2.Close();
}