在VB.Net中定制任意形状的按钮
思路: 首先,创建一个Point对象数组,为按钮定制多边形。接着创建一个GraphicsPath对象,在其中添加多边形。再将GraphicsPath转化为Region。最后,将按钮的Region属性设置为前面得到的结果。 具体代码: Private Sub Form1_Load(ByVal sender As System.Obj
思路:
首先,创建一个Point对象数组,为按钮定制多边形。接着创建一个GraphicsPath对象,在其中添加多边形。再将GraphicsPath转化为Region。最后,将按钮的Region属性设置为前面得到的结果。
具体代码:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal _
e As System.EventArgs) Handles MyBase.Load
' 定义多边形路径中的点
Dim pts() As Point = { _
New Point(5, 15), _
New Point(35, 15), _
New Point(35, 5), _
New Point(55, 25), _
New Point(35, 45), _
New Point(35, 35), _
New Point(5, 35) _
}
' 形成GraphicsPath
Dim polygon_path As New System.Drawing.Drawing2D.GraphicsPath(FillMode.Winding)
polygon_path.AddPolygon(pts)
' 将GraphicsPath转为Region
Dim polygon_region = New Region(polygon_path)
' 将按钮约束在Region内
Button1.Region = polygon_region
' 让按钮填充Region
Button1.SetBounds(Button1.Location.X, Button1.Location.Y, pts(3).X + 5, pts(4).Y + 5)
End Sub
原文转自:http://www.ltesting.net
|