gpt4 book ai didi

C#窗体绘制题

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:09 25 4
gpt4 key购买 nike

在我的表单中的元素上制作透明叠加层的最简单方法是什么?

我希望为我的表单制作一个简单的黑色(不透明度 = 0.5) 覆盖层,并在我的应用程序正在做某事时激活它(如淡化屏幕).

谢谢。

最佳答案

您可以通过继承您想要使用的控件来创建透明控件

透明面板示例:

class TransparentPanel : Panel 
{
protected override CreateParams CreateParams
{
get
{
CreateParams createParams = base.CreateParams;
createParams.ExStyle |= 0x00000020; // WS_EX_TRANSPARENT
return createParams;
}
}

protected override void OnPaintBackground(PaintEventArgs e)
{
SolidBrush brush = new SolidBrush(Color.FromArgb(100, 0, 0, 0));
e.Graphics.FillRectangle(brush,0,0,this.Width,this.Height);
}

}

并在 laded.s 表单后使用:

void Form1_Load(object sender, EventArgs e)
{
TransparentPanel overlay = new TransparentPanel();
overlay.BackColor = Color.FromArgb(50, Color.Black);
overlay.Width = this.Width;
overlay.Height = this.Height;

this.Controls.Add(overlay);
overlay.BringToFront();

}

关于C#窗体绘制题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5566202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com