簡體   English   中英

C# 按鈕背景色

[英]C# Button Background Color

我有一個 Windows 表格,我想做一個現代設計。
我只是在按鈕樣式方面遇到問題,你能幫我嗎?

我想在單擊按鈕時刪除或隱藏背景顏色,我設法使用以下代碼從鼠標懸停在組件上時刪除背景顏色:

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

現在我需要刪除或隱藏它(灰色背景):
表格圖片

我怎么做這個?

謝謝!

我通過多次嘗試獲得了解決方案。
只需將 FlatAppearance.MouseOverBackColor 和 FlatAppearance.MouseDownBackColor 更改為 Form 或它所附加到的項目的背景顏色。

例子:你有一個帶面板的表單,面板的顏色是紅色,所以設置屬性為紅色,或者直接放“Color.Transparent”

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

因此,如果您有一個擴展按鈕 object 的 class,只需編寫如下代碼:

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]
}

上面的代碼是每個人都能夠構建自己的邏輯的示例,如果有疑問我可以幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM