WinForm中的重绘 - 按钮等控件的背景渐变色重绘

时间:2023-03-09 04:00:37
WinForm中的重绘 - 按钮等控件的背景渐变色重绘

注:brush通过起止坐标来控制重绘范围及方向。比如从上到下渐变时,brush第二个Point参数是左下角坐标。

         private void PaintGradientBackground(Button btn)
{
Bitmap newGradientBackImg = new Bitmap(btn.Width, btn.Height);
LinearGradientBrush brush = new LinearGradientBrush(new PointF(, ), new PointF(, btn.Height), GlobalParams.UnSelected_TreeTab_Top_Color, GlobalParams.UnSelected_TreeTab_Bottom_Color);
Graphics gr = Graphics.FromImage(newGradientBackImg);
gr.FillRectangle(brush, new RectangleF(, , btn.Width, btn.Height));
//btn.BackColor = Color.Transparent;
btn.BackgroundImage = newGradientBackImg;
} private void ClearGradientBackground(Button btn)
{
btn.BackgroundImage = null;
}