[重點是調透明度]Panel設置透明屬性 C#中顏色的使用


Panel設置透明屬性 C#中顏色的使用

不幸的是發現控件並不對 Color.FromArgb透明的設置賣賬

透明Panel的實現方法。通常只需要將backcolor設置為transparent即可,但是此時panel的顏色會與form或父panel顏色一致,往往這並不是我們需要的。

此時我們可以用另一種方法,panel1.BackColor = Color.FromArgb(65, 204, 212, 230);通過調整顏色值,即實現了panel透明,又實現了兩個panel顏色不同的效果。

.NET框架中的顏色基於4種成份,透明度,紅,綠和藍.每一種成份都是一個字節,在0--255之間取值.
Color結構代表顏色,當類和方法要作用於顏色的時候,它們作用於Color結構的一個實例.Color結構通過表態屬性公開了140個命名顏色,這些屬性返回預先創建的Color對象.
Color newColor = Color.Red;

創建Color實例的另一種方式是調用靜態FromArgb方法,該方法有4個重載方式.
1.創建Color實例的參數成份為4種顏色成份
Color c = Color.FromArgb(100,200,200,200);
第1個參數為透明度(alpha)參數,其后為紅,綠和藍.
2.只接受紅,綠,藍三種原色,透明度設置為默認,即完全不透明.
Color c = Color.FromArgb(200,200,200);
3.從一個現在的Color對象創建一個新的Color實例,只修改透明度成份
Color c = Color.FromArgb(100,Color.PowderBlue);
4.用一個形式為AARRGGBB的組合整數創建一個Color實例
Color c = Color.FromArgb(0x64C8C8FF);

還可以通過調用靜態FromKnownColor方法來創建Color對象.它接受KnownColor枚舉值作為參數.
Color c = Color.FromKnownColor(KnownColor.PowderBlue);

再有一個方式就是調用靜態FromName方法,它接受一個字符串參數,這個字符串必須包含一個KnownColor枚舉值的名稱.
Color c = Color.FromName("PowderBlue");

Color結構有4種顏色成份的只讀屬性,A,R,G,B.可以使用這些屬性提取各種成份,並調配成新的顏色.
其他一些非靜態屬性包含:
IsNamedColor Boolean值,如果顏色值在這140個命名顏色中時,值為true,否則為false.
IsKnownColor Boolean值,如果顏色值是KnownColors枚舉的顏色之一時,值為true
IsSystemColor Boolean值,如果顏色值是SystemColors類的屬性值之一時,值為true.

系統顏色
SystemColors類封裝了26種系統顏色,這個類可以通過靜態屬性使用顏色.
Color c = SystemColors.WindowText;

KnownColor枚舉包含了SystemColors類的26種顏色值,及Color結構的靜態屬性所公開的140種顏色值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM