close

在  VB6的軟體中,有個很好用的原件  叫 shape.  到了 .Net 下就消失不見了

雖然後來有推個 VisualBasicPowerPacks 

但有用過的人都知道,真的很不好用

尤其在排版實不能最上層顯示,常常被其他物件給遮住,跟過去VB6下真的很大的不同

 

但 .Net 下 還是有其他辦法可以解決,我們可以用 物件的region ,重新定意region 將物件重繪就好了

像拿 label 來重繪,要圓 要扁 要星星 要箭頭,只要畫的出來  就可以顯示出來

首先讓我們 import system.drawing.Drawing2D

 

我們需要用 GDI+的路徑畫法  來畫出我們要的形狀

首先讓我們來畫個圓

在Form 表單上建立一個 label  取名  labCircle

 Dim aCircle As New Drawing2D.GraphicsPath         '設定一個新路徑
 aCircle.AddEllipse(New Rectangle(0, 0, 20, 20))     '在路徑中加個圓

labCircle.Region = New Region(aCircle)                    '設定 label   labcircle.region
labCircle.BackColor = Color.Black                              '設定 顏色  黑色

偵錯   

就可以看到  剛剛的Labe 就變成黑色的圓

ps. 這個圓 不會隨著Label 變大變小  但可以讓物件跟畫出來的Region設定的大小一樣

相關 可參考

http://vb-helper.com/howto_net_shaped_button.html

當然  有大量使用需求的人 可以設成 Usercontrol

而且使用 sizechanged 這個事件

重新設定 region 就可以跟隨著大小改變了

 

 

華麗版的圖像設定

http://www.codeproject.com/KB/buttons/netimagebutton.aspx

 

 

 

 

arrow
arrow
    全站熱搜

    Rh 發表在 痞客邦 留言(0) 人氣()