簡體   English   中英

如何將不可見的背景應用於面板上的控件? (C#)

[英]How can i apply invisible background to a control on panel? (C#)

當將TransparencyKey應用於面板上的控件時,該面板不可見的背景正在工作,TransparencyKey不起作用。

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.TransparencyKey = Color.FromArgb(0, 0, 1);
        panel1.BackColor = Color.FromArgb(0, 0, 1);
        button1.BackColor = Color.FromArgb(0, 0, 1);
    }
}

button1是panel1上的Control。 button1仍具有其原始背景色(30,30,30)

根據Color.FromArgb的文檔,您當前正在使用“ RGB”重載調用該方法-您指定的值僅填充顏色的“ RGB”部分,而忽略了“ A”或“ alpha”部分。 您需要使用接受四個參數的重載:

button1.BackColor = Color.FromArgb(0, 0, 0, 1);

請注意開頭處的0這是alpha屬性,將其設置為0將使顏色透明。 線索位於方法名稱“ ARGB”中,該名稱表示指定參數的順序。

從MS Docs:

FromArgb(Int32, Int32, Int32, Int32)

根據四個ARGB分量(alpha,紅色,綠色和藍色)值創建Color結構。 盡管此方法允許為每個組件傳遞32位值,但每個組件的值限制為8位。

暫無
暫無

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

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