C#UseVisualStyleBackColor

Eri*_*tis 8 c#

有没有办法可以更改按钮颜色并保留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)

Han*_*ant 9

不,不是真的.这种按钮背景由VisualStyleRenderer.DrawBackground()绘制.其中反过来说明了DrawThemeBackground().这些方法没有颜色.不需要,因为颜色已在主题中指定.

使用LinearGradientBrush模拟外观是您唯一真正的希望.请注意,自定义绘制按钮非常困难,所有代码都是内部的,并且不提供所有者绘制.

考虑使用图像.