有没有办法可以更改按钮颜色并保留Windows VisualStyle?我想创建一个看起来像checkBox2(颜色和样式)的按钮

this.button2.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
this.button2.UseVisualStyleBackColor = false; //if true, BackColor gets ignored
Run Code Online (Sandbox Code Playgroud)
不,不是真的.这种按钮背景由VisualStyleRenderer.DrawBackground()绘制.其中反过来说明了DrawThemeBackground().这些方法没有颜色.不需要,因为颜色已在主题中指定.
使用LinearGradientBrush模拟外观是您唯一真正的希望.请注意,自定义绘制按钮非常困难,所有代码都是内部的,并且不提供所有者绘制.
考虑使用图像.