如何设置渐变背景面板上的标签背景色

本文关键字:背景色 标签 背景 渐变 何设置 设置 | 更新日期: 2023-09-27 18:07:10

设置面板控件的背景颜色为渐变。

我想设置相同的面板背景色和标签包颜色

我的代码与

相同
private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = panel1.CreateGraphics();
            LinearGradientBrush lgb = new LinearGradientBrush(new Rectangle(0, 0, this.panel1.Width, this.panel1.Height), Color.Black, Color.Black, LinearGradientMode.Horizontal);
            ColorBlend cb = new ColorBlend();
            cb.Colors = new Color[] { Color.Black, Color.White };
            cb.Positions = new Single[] { 0.0F, 1.0F };
            lgb.InterpolationColors = cb;
            g.FillRectangle(lgb, new Rectangle(0, 0, this.panel1.Width, this.panel1.Height));
            label1.Parent = panel1;
            label1.BackColor = Color.Transparent;
            lgb.Dispose();
            g.Dispose();
        }

哪个部分错了?

如何设置渐变背景面板上的标签背景色

下面一行有问题:

Graphics g = panel1.CreateGraphics();

改为:

Graphics g = e.Graphics;

你还可以在构造函数中放入以下代码(以避免在panel为Invalidated时重新分配):

label1.Parent = panel1;
label1.BackColor = Color.Transparent;