小歐ou | 菜鳥自救會

努力工作,用心學習
文章數 - 1034, 回應數 - 1011, 引用數 - 0

每月文章

技術社群

技術部落格

關於我

[C#][VB.NET]按鈕背景設定透明的奇怪現象

在藍色小舖上遇到的神奇問題,問題簡述如下

請問如何將按鈕變成透明背景,且能與Form的背景結合,試過將backcolor設為transparent但始終行不通
其他電腦開啟程式都是control底色,只有一部電腦能顯示透明

實際寫程式來測試看看,在Form內放了Button,並且設定Button 的BackColor = Transparent

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

程式執行結果,按鈕變透明且看到Form的圖片,那發問者為什麼會有此問題?

而我從發問者這句話 " 其他電腦開啟程式都是control底色,只有一部電腦能顯示透明 " 聯想到,會不會跟佈景有關,我目前的佈景主題是設定為 Windows 傳統配色,而我嘗試將佈景主題換成 Windows XP,結果如下,Button真的就不透明了

再切換回 Windows 傳統配色,按鈕又變透明了

那有什麼方法可以在 不同的佈景主題下,按鈕都能透明呢? 最後我測試出來的解決方式是 另外還要去設定 Button 的 FlatStyle 屬性 設定為 FlatStyle.Popup 即可

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

執行結果如下,Button 又可以顯示 Form 的底圖了

參考

http://www.blueshop.com.tw/board/show.asp?subcde=BRD20090315225812VKS

 

 




posted on 2009/3/29 17:52 1 人推薦 我要推薦 | 閱讀數 : 21524 訂閱

關連文章

Feedback

# re: [C#][VB.NET]按鈕背景設定透明的奇怪現象 回覆

這位台灣的朋友,
我是大陸人。
嘿嘿,謝謝你的文章噢。。
看了之後 受益匪淺。
我的QQ:403648498
請加我做好友,讓我們一起進步吧!
2009/4/2 上午 03:35 | Ymir

回應

標題
姓名
電子郵件 (將不會被顯示)
個人網頁
內容 
  登入後使用進階評論  
Please add 7 and 6 and type the answer here:

Powered by: