C# 製作不規則表單的兩種解決方案

來源:互聯網
上載者:User
我的廣告單元,有空點一下哦,謝謝!

  冒著被拍磚的危險,投放到首頁。C#製作不規則表單應該又是一個老生常談的問題了,可能很多老鳥會帶BS的眼神,那麼請老鳥們視該文章如浮雲吧。

  製作不規則表單,本例採用圖片背景形式,這也是通常的思路。以前也做過類似的案例,但都不深入,這次項目中需要用到,順便理了下思路,找到另一種比較簡單的方法,下面介紹下兩種解決方案。

  第一種:也是大家管用的一種方法,實現步驟如下

     ①:準備一張bmp的圖片,圖片的背景最好為一種簡單純色,方便表單指定透明色,例如下面圖片:

  

  (圖片背景為白色,邊框是園子的css效果,不能傳bmp,jpg代替)

  ②:在VS裡面建立表單,表單FormBorderStyle:None

  ③:找到表單的TansparencyKey,將它設定為你背景圖片的背景色(如白色)

  OK,第一種設定到這裡就可以了,運行效果如下:

  

  沒有任何問題,能夠打到不規則表單的的效果,但是你會發現,如果你的圖片背景顏色和圖片主內容很接近,或者存在共同顏色的時候,難免會出現鋸齒,部分地方透明模糊等情況,那麼如何解決這個問題呢,看第二種解決方案

  第二種解決方案:(採用透明Png圖片格式)

  上一種方法用的是bmp格式,這次採用png格式,大家知道png是支援圖片背景透明的。準備圖片如下:

  

  (為了好看一點,直接接了個表徵圖,證明是png格式,而且背景是透明的,呵呵)


  ①:同樣建立一個表單背景圖片指定png格式的圖片

  ②:同樣設定表單的FormBorderStyle:None

  ③:不同點來了哈,這裡指定好了圖片png後,表單的大小可以隨便設定(當然你要保證能顯示出全部png圖片),之後設定表單的BackColor:Control(這是預設的,當然你也能修改),最後設定TansparencyKey等於你的BackColor的顏色即可,這樣就可以完整的顯示出png圖片了

 

  可以看的出,兩種解決方案其實大同小異,不同的是第二種方案靈活性比較高一點,能夠實現些很好的效果,而不會影響圖片品質(毛邊等)。


  Show一下花了一天做的一個圖片。

  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.