C#按钮背景色

问题描述 投票:0回答:1

我有一个Windows表格,我想做一个现代化的设计。我只是在按钮的造型上遇到了问题,你能帮帮我吗?

我想移除或隐藏按钮被点击时的背景色,我用下面的代码移除了鼠标在组件上的背景色。

FlatAppearance.MouseOverBackColor = System.Drawing.Color.Transparent;

现在我需要删除或隐藏这个(灰色背景)。表格图片

我怎么做这个?

谢谢你!我有一个Windows表格,我想做一个现代设计。

c# button components styles
1个回答
0
投票

我经过多次尝试得到了解决方法。只要把FlatAppearance.MouseOverBackColor和FlatAppearance.MouseDownBackColor改成Form或它所连接的项目的背景色就可以了。

例子: 你有一个带面板的表单,面板的颜色是红色的,所以把属性设置为红色,或者直接把 "Color.Transparent"

buttonName.FlatAppearance.MouseOverBackColor = Color.FromArg(255, 0, 0) // red;
buttonName.FlatAppearance.MouseDownBackColor = Color.Transparent; // same result

所以,如果你有一个扩展Button对象的类,只需要做这样的代码。

public class MyButton : Button
{
        public MyButton()
        {
            FlatAppearance.MouseOverBackColor = Color.Transparent; // or Color.[Preference]
            FlatAppearance.MouseDownBackColor = Color.Transparent; // or Color.[Preference]
        }

        // Rest of your code...
}

否则,做一个foreach,如下所示

foreach (var button in this.Controls.OfType<Button>())
{
         button.FlatAppearance.MouseOverBackColor = Color.Transparent; // or Color.[Preference]
         button.FlatAppearance.MouseDownBackColor = Color.Transparent; // or Color.[Preference]
}

上面的代码是给大家举例,让大家能够建立自己的逻辑,如果有疑问,我可以帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.