有什么方法可以使面板透明或半透明吗?我还没有找到任何合适的属性来设置面板的透明度。
我还尝试制作一个带有网格的 WPF 控件(网格背景和控件背景设置为透明)并将其放置在普通 Windows 窗体上,但是当我将此控件放在普通 Windows 窗体(不是 WPF)上时,我没有得到适当的透明度。
如果您的显示几乎是静态的,您可以这样做来实现半透明(Source http://www.snippetbank.net/2014/04/vbnet-semi-transparent-panel.html):
class SeeThroughPanel : Panel
{
public SeeThroughPanel()
{
}
protected override CreateParams CreateParams {
get {
var cp = base.CreateParams;
cp.ExStyle |= 0x00000020;
return cp;
}
}
protected override void OnPaint(PaintEventArgs e)
{
//base.OnPaint(e);
e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(50, 0, 0, 0)), this.ClientRectangle);
}
}
但是,如果您需要在半透明控件上进行动态渲染,则这种方法并非没有问题。看this https://stackoverflow.com/questions/24592272/我已经发布的问题。希望有一天能得到答复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)