Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / multimedia / GDI+

How to make gradient colored Controls in Windows Forms

5.00/5 (1 vote)
26 Aug 2010CPOL 15K  
Create a class library project, add a customControl item to the solution, then make that class inherits from Panel instead of Control and override the OnPaint method to be like this:

protected override void OnPaint(PaintEventArgs e)
{
if (this.ClientRectangle.Height == 0 this.ClientRectangle.Width == 0) return; 

//get the graphics object of the control 
Graphics g = e.Graphics; 

//The drawing gradient brush 
LinearGradientBrush brush = new LinearGradientBrush(this.ClientRectangle, BackColor1, BackColor2, FillMode); 

//Fill the client area with the gradient brush using the control's graphics object 
g.FillRectangle(brush, this.ClientRectangle);
}


build and get the dll, add it to your toolbox and use it instead of the normal Panel, by the way you can do the same thing to all controls to have a better UI

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)