gpt4 book ai didi

c# - .net 中的透明用户控制

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:20 24 4
gpt4 key购买 nike

我正在尝试制作一个带有用户控件的网页样式按钮。我需要使用户控件的背景透明。如何在不使控件不可见的情况下执行此操作。我还需要透明的 Label 和 PictureBox。

试图做这样的事情:alt text

this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
this.BackColor = Color.Transparent;

最佳答案

您列出的所有三个控件都已启用 ControlStyles.SupportsTransparentBackColor 样式。只需在设计器的 Web 选项卡中设置 BackColor 属性。 非常不清楚为什么这对您来说不够好。

否则这是一种错觉,Windows 窗体通过要求父控件在 OnPaintBackground() 方法中绘制自身来实现它,以便它提供背景像素。一件值得注意的不起作用的事情是重叠控件。您只能看到父级像素,而看不到重叠控件的像素。这是可以修复的,但代码很糟糕。

唯一的其他透明度选项是 Form.TransparencyKey。这是真正的透明度,通过在视频适配器中使用覆盖来实现。问题是这只适用于顶层窗口。窗体,而不是控件。

这些限制是 Windows 窗体呈现模型中固有的,对控件使用单独的窗口。 Web 浏览器没有相同的限制,它通过绘制控件来模拟控件。油漆层,通过不绘画使透明度变得微不足道。 WPF 也使用该呈现模型。

关于c# - .net 中的透明用户控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4117356/

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