Click here to Skip to main content
15,884,628 members
Articles / Multimedia / GDI+
Tip/Trick

How to make gradient colored Controls in Windows Forms

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
26 Aug 2010CPOL 14.8K   3  
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)


Written By
Software Developer Asset Technology Group
Egypt Egypt
I'm a professional components designer, web developer, UX engineer and 3d designer as well, I'm 4 years experienced .net software engineer and 7 years experienced 3d designer using 3D Max. I'm very interested in RIA technologies, prototyping and UX engineering.

Ahmed Said
Senior .Net Software Engineer

Comments and Discussions

 
-- There are no messages in this forum --