[英]Form-only opacity
首先,我将向您展示我试图在纯NET中重新创建的图像。
我重新创建了“库存”窗口,剩下的只有蓝色不透明窗口,它显示信息。
如果我使用opacity属性,则该表单上的所有内容都具有不透明度,但是在图片上文本没有不透明度。
如何仅在表单上设置不透明度?
Opacity
属性仅存在于表单上,因此无法在其中包含的控件上覆盖它。
我确实认为稍微透明的背景图像可能会提供您想要的效果-但我已经尝试过了,但似乎没有效果。
不确定这是否有帮助,但是我唯一想到的就是使用TransparencyKey和表单的背景色,这是我使用WPF的唯一不足。 只要确保您的TransparencyKey未被设置为默认控件或灰色,可能是红色或其他形式的背景色即可。 如果您希望部分透明,则最终可能不得不使用WPF。 就我个人而言,我从未尝试过以实际形式使用WPF进行不透明度,因此您“可能”获得相同的结果,但是...
编辑:WPF导致相同的情况。 表单下的所有控件对表单都是透明的。 可能是因为它们固有的形式属性。
您可以使用此:
using System.Drawing.Drawing2D;
private void Form1_Paint(object sender, PaintEventArgs e)
{
var hb = new HatchBrush(HatchStyle.Percent50, this.TransparencyKey);
e.Graphics.FillRectangle(hb, this.DisplayRectangle);
}
等待帮助你..再见
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.