Button 背景設定為透明,但是有些電腦可以讓 Button 背景變透明且可以顯示出 Form 的底圖,有些電腦則不行?
在藍色小舖上遇到的神奇問題,問題簡述如下
請問如何將按鈕變成透明背景,且能與Form的背景結合,試過將backcolor設為transparent但始終行不通
其他電腦開啟程式都是control底色,只有一部電腦能顯示透明
實際寫程式來測試看看,在Form內放了Button,並且設定Button 的BackColor = Transparent
private void Form1_Load(object sender, EventArgs e)
{
button1.BackColor = Color.Transparent;
}
{
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;
}
{
button1.BackColor = Color.Transparent;
button1.FlatStyle = FlatStyle.Popup;
}
執行結果如下,Button 又可以顯示 Form 的底圖了
參考
http://www.blueshop.com.tw/board/show.asp?subcde=BRD20090315225812VKS