中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 設置label控件的背景顏色為透明的方法

發布時間:2020-10-28 15:04:42 來源:億速云 閱讀:1415 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關C# 設置label控件的背景顏色為透明的方法,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

關于透明

首先要解釋一下,什么叫做透明。在C#這里,透明就是指透過控件的背景,可以看到其父控件(容器)表面的顏色。所謂的透明,其實就是將父控件表面的顏色設定為自己的背景顏色。

設置控件背景顏色為透明的步驟和注意事項:

以pictureBox上的label控件為例,設置label的背景為透明,可以看到pictureBoxs上的圖片。 
(1)首先,將label控件的背景顏色設為透明(Transparent)。在屬性窗口中設置,或者在代碼中設置:label1.BackColor=Color.Transparent; 
(2)其次,將label控件的Parent屬性設定為picturebox,也就是說,將pictureBox設為label的父控件。在代碼中寫上:label1.Parent=pictureBox1;或者pictureBox1.Controls.Add(label1); 
(3)最后,調整控件的位置。將label控件的位置(Location)重新設定一下,使其顯示在pictureBox中合適的位置:這一步是非常重要的!這常常是出問題的地方,如果Location屬性沒設置好,有可能看不到標簽。 

注意事項: 

(1)為什么將label控件的背景設為透明,透過背景看到的不是pictureBox的顏色,而是窗體的顏色? 
其原因是:label控件的父控件默認是窗體,當將label的背景顏色設為透明之后,看到的將會是窗體的顏色,即使你已經把label控件拖到pictureBox控件上面也無濟于事。解決方法是,重新設置label的Parent屬性,使label控件的父控件為pictureBox。 

(2)為什么將label的Parent屬性設置為pictureBox之后,運行時發現label控件不見了,或者顯示的位置不在拖放的位置? 
原因是: 

label等控件默認的父控件是窗體,一開始的時候,location屬性也是相對于窗體的。當運行時,label父控件改為了PictureBox,那么location屬性也將是改為相對于PictureBox。這里是重點,這是為什么標簽不見的原因:加了label1.parent=pictureBox1這段代碼之后,label的位置基準就變為PictureBox的了,但location的數值沒有變,當location的數值比PictureBox的size還大的時候,label不會顯示。因此,在設置完label1.parent=PictureBox1之后,還要設置location屬性,比如label1.location=new point(0,0)。這時label顯示在PictureBox的左上角。這是關于位置基準的問題,控件以誰為父親,它的位置基準就一父控件的左上角為基準。在切換父控件的時候,要注意把位置也得調一下。同樣是location=(100,100),以不同的控件作為父控件,顯示的位置是不一樣的。也就是說,顯示位置不但跟數值有關,還跟選擇的基準有關。

例子

在窗體上放一個pictureBox控件,并在其Image屬性中放入一張圖片,然后在pictureBox上拖放一個label控件。顯示效果:pictureBox上顯示圖片,上面的label控件的背景是透明的,透過label控件可以看到pictureBox上的圖片。 
(1)僅僅將label的背景設為透明

private void Form1_Load(object sender, EventArgs e)
{
   label1.BackColor = Color.Transparent;
}

運行效果:

C# 設置label控件的背景顏色為透明的方法

可以看到,label的背景是窗體的顏色。

(2)不僅設置背景透明,還將label的Parent屬性改為pictureBox。

private void Form1_Load(object sender, EventArgs e)
{
      label1.BackColor = Color.Transparent;
      label1.Parent = pictureBox1;
      //pictureBox1.Controls.Add(label1);
}

運行效果 :

C# 設置label控件的背景顏色為透明的方法

發現,label控件不見了。

(3)不僅設置背景透明,將label的Parent屬性改為pictureBox,還把Location屬性重新設置為合適的值。

private void Form1_Load(object sender, EventArgs e)
{
      label1.BackColor = Color.Transparent;
      label1.Parent = pictureBox1;//將pictureBox1設為標簽的父控件
      //pictureBox1.Controls.Add(label1);
      label1.Location = new Point(80, 80);//重新設定標簽的位置,這個位置時相對于父控件的左上角
}

運行效果:

C# 設置label控件的背景顏色為透明的方法

關于C# 設置label控件的背景顏色為透明的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

抚远县| 冷水江市| 通辽市| 香格里拉县| 凤冈县| 巴里| 安阳县| 沂南县| 公安县| 夏邑县| 故城县| 岚皋县| 长兴县| 乌恰县| 衢州市| 达孜县| 东光县| 称多县| 东城区| 漳浦县| 云安县| 长阳| 东阳市| 崇义县| 泰宁县| 黎平县| 临沧市| 嘉黎县| 宁远县| 永州市| 靖安县| 陵川县| 阿合奇县| 微博| 贵阳市| 高淳县| 花莲县| 英山县| 辽宁省| 黄龙县| 章丘市|