The OnPaintBackground method is never invoked for control derived from Button
I've made a class GradientButton which suppose to be a Button which is filled with gradient background. I draw gradient filling in the OnPaintBackground() method. Unfortunately it is never invoked, of course I added a GradientButton to a Form via toolbox: public class GradientButton : Button { public Color Color1 { get; set; } public Color Color2 { get; set; } public float Angle { get; set; } public GradientButton() { Color1 = Color.YellowGreen; Color2 = Color.LightGreen; Angle = 30; } protected override void OnPaintBackground(PaintEventArgs e) { base.OnPaintBackground(e); Debug.WriteLine(