2015-08-11 1 views
1

Цвет фона панели управления установлен на градиент цвета.Как установить метку backColor на панели фона градиента

и я хочу, чтобы установить такой же BackColor панели и этикетки пакет цвет

мой код такой же ниже

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(); 

     } 

Какая часть была не так?

ответ

2

Существует проблема с ниже линии:

Graphics g = panel1.CreateGraphics(); 

изменить его на:

Graphics g = e.Graphics; 

И вы также можете поместить следующие коды в конструкторе (чтобы избежать переназначение, когда панель Invalidated):

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

 Смежные вопросы

  • Нет связанных вопросов^_^