+-

我有一个将其不透明度设置为50%的表单,如下所示:
this.Opacity = 0.5D; <--this==Form
我的问题是表单上所有不透明度为50%的东西
我在表单上有两个按钮,我希望它们不透明.
我知道这.不透明度包括所有控件,并且由于某种原因图形也是如此
我的问题是,如何排除控件的不透明度?
示例图片:
谢谢!
最佳答案
由于Control不具有Opacity属性,而且大多数控件都不支持透明颜色,因此可行的解决方案可以是:
>创建一个名为MainForm的表单,然后放置将要排除的所有控件.
1.1将MainForm的BackColor和TransparencyKey属性设置为相同的颜色,例如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();
}
两种形式的控件的位置都必须这样,以便在组合时显示正确的用户界面.
点击查看更多相关文章
转载注明原文:如何从C#中的WinForm.Opacity中排除控件 - 乐贴网