C#(winform)為button添加背景圖片


轉自:https://www.cnblogs.com/zhangchenliang/p/4335372.html

1.既然是添加背景圖片

    所以這里應該使用 Button.BackgroudImage = "" ;來設置圖片

         而不應該使用  Button.Image = ""; 

   因為使用BackgroudImage來設置背景圖片,我們還可以使用

    BackgroundImageLayout來調節圖片,讓圖片更好的顯示在button上

    通常使用:

技術分享  View Code

2.然后你就會看到盡管添加了背景圖片,同時還設置好了拉伸圖片,但是效果還是強差人意

   技術分享

   怎么會有個邊框啊,這得有多難看啊,既然有邊框,那就取消邊框吧

   技術分享

     不過,沒找到button的Border屬性,但是找到了 FlatStyle屬性(決定控件外觀的一個屬性),

     不管了,先逐個試試看有什么變化,最后Flat感覺比較符合我們的口味,

       技術分享

     那個給人感覺很厚的邊框沒有了,但是看起來仍然很不舒服,怎么還有一點白色的框框啊

     技術分享

     剛才一直找不到的Border屬性,原來是藏在了 FlatAppearance下面了,直接BorderSize改成 0

     效果馬上變成了如下:

        技術分享

      呵呵,那討人厭的白色框框也不見了,整體看起來感覺舒服了好多啊,

     不過細心的你肯定也看到了,因為這個按鈕的背景圖片是圓角的,那四個邊角上居然還有

     那冤魂不散的白色邊框!!!!,運行起來的效果更明顯,特別是當鼠標移進移出時:

     技術分享 and 技術分享

     左圖是鼠標移入前,看起來很舒服;而右圖是鼠標移進時,擦,四個邊角,這太明顯了,強迫症的我根本不能接受嘛!

     從一開始到現在折騰了那么久,眼看就要搞定的時候,居然還有這么一個小難題····難不成是微軟的bug???

     最后發現還是我錯了,解決的方法如下:

  技術分享

     還是在剛剛那個 FlatAppearance屬性,不過這次改的是 MouseDownBackColor,MouseOverBackColor 都設置為 Transparent(透明色)

     當然最后還要設置一下

     this.btnReset.BackColor = System.Drawing.Color.Transparent;


免責聲明!

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



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