有没有一种方法可以更改按钮颜色并保留Windows VisualStyle?我想创建一个看起来像checkBox2的按钮(颜色和样式)
this.button2.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
this.button2.UseVisualStyleBackColor = false; //if true, BackColor gets ignored
最佳答案
不,不是。这种按钮背景由VisualStyleRenderer.DrawBackground()绘制。依次调用DrawThemeBackground()。这些方法不带颜色。因为主题中已经指定了颜色,所以不需要。
使用LinearGradientBrush模拟外观是您唯一的真实希望。请注意,自定义绘制按钮非常困难,所有代码都在内部,并且未提供所有者绘制。
考虑使用图像。
关于C#UseVisualStyleBackColor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4492926/