gpt4 book ai didi

c# - 如何使用 C# 淡入/淡出包含内容的面板

转载 作者:太空狗 更新时间:2023-10-29 17:55:27 24 4
gpt4 key购买 nike

我有一个面板作为容器,这个面板上有一张图片作为背景,在容器面板内,我有另一个面板,我要在标签中放置一些信息,这些信息会及时改变,我想要的是当新信息即将显示时的过渡,用旧信息淡出信息面板,然后在同一个面板中淡出新信息。在信息面板淡出时,我将能够看到容器面板的背景图像。两个面板都有 BorderStyle=FixedSingle,信息面板也有背景颜色。

现在我的问题是:有什么方法可以淡入/淡出信息面板以及其中的全部内容吗?

我在网上搜索,我发现了一种使用面板的背景色来实现这种效果的方法,但它根本不起作用,此外,内容仍然存在,因为他们只是试图淡化背景色属性:

Timer tm = new Timer();
private void Form1_Shown(object sender, EventArgs e)
{
tm.Interval = 100;
tm.Tick += new EventHandler(timer1_Tick);
tm.Enabled = true;
}

private void timer1_Tick(object sender, EventArgs e)
{
int aa = 0;
panel2.BackColor = Color.FromArgb(aa, 255, 0, 0);

aa += 10;
if (aa > 255)
tm.Enabled = false;
}

我们将不胜感激。

最佳答案

我不相信您可以设置单个控件的不透明度。表单本身具有不透明度,但我认为您不想淡出整个控件。

您可以创建支持不透明度的自定义控件...这是一个示例: http://www.slimee.com/2009/02/net-transparent-forms-and-controls-with.html

我相信此实现适用于面板内的子控件(因为它在控件占用的矩形区域上工作)。如果我错了,您必须将所有子控件作为您覆盖行为的一部分来处理。

正如其他人所说,要使其看起来“平滑”可能需要大量工作。希望有人能给出更好的答案。

关于c# - 如何使用 C# 淡入/淡出包含内容的面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7447455/

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