Irregular shape of Button : Button « GUI « VB.Net Tutorial

Irregular shape of Button
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms

public class IrregularShapeButton
   public Shared Sub Main
        Application.Run(New Form1)
   End Sub
End class

Public Class Form1
    Inherits System.Windows.Forms.Form
    Private originalSize As Size

#Region " Windows Form Designer generated code "

    Public Sub New()

        'This call is required by the Windows Form Designer.

        'Add any initialization after the InitializeComponent() call

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
            End If
        End If
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents AnimationBtn As System.Windows.Forms.Button
    Friend WithEvents VideoBtn As System.Windows.Forms.Button
    Friend WithEvents AudioBtn As System.Windows.Forms.Button
    Friend WithEvents ContextMenu1 As System.Windows.Forms.ContextMenu
    Friend WithEvents Circlemenu As System.Windows.Forms.MenuItem
    Friend WithEvents RectMenu As System.Windows.Forms.MenuItem
    Friend WithEvents TriangleMenu As System.Windows.Forms.MenuItem
    Friend WithEvents CloseMenu As System.Windows.Forms.MenuItem
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.AnimationBtn = New System.Windows.Forms.Button
        Me.VideoBtn = New System.Windows.Forms.Button
        Me.AudioBtn = New System.Windows.Forms.Button
        Me.ContextMenu1 = New System.Windows.Forms.ContextMenu
        Me.Circlemenu = New System.Windows.Forms.MenuItem
        Me.RectMenu = New System.Windows.Forms.MenuItem
        Me.TriangleMenu = New System.Windows.Forms.MenuItem
        Me.CloseMenu = New System.Windows.Forms.MenuItem
        Me.AnimationBtn.BackColor = System.Drawing.Color.Blue
        Me.AnimationBtn.Font = New System.Drawing.Font("Tahoma", 10.0!, System.Drawing.FontStyle.Bold)
        Me.AnimationBtn.ForeColor = System.Drawing.SystemColors.ControlLightLight
        Me.AnimationBtn.Location = New System.Drawing.Point(120, 146)
        Me.AnimationBtn.Name = "AnimationBtn"
        Me.AnimationBtn.Size = New System.Drawing.Size(152, 104)
        Me.AnimationBtn.TabIndex = 6
        Me.AnimationBtn.Text = "Animation"
        Me.VideoBtn.BackColor = System.Drawing.Color.Green
        Me.VideoBtn.Font = New System.Drawing.Font("Tahoma", 10.0!, System.Drawing.FontStyle.Bold)
        Me.VideoBtn.ForeColor = System.Drawing.SystemColors.ControlLightLight
        Me.VideoBtn.Location = New System.Drawing.Point(208, 26)
        Me.VideoBtn.Name = "VideoBtn"
        Me.VideoBtn.Size = New System.Drawing.Size(160, 96)
        Me.VideoBtn.TabIndex = 5
        Me.VideoBtn.Text = "Play Video"
        Me.AudioBtn.BackColor = System.Drawing.Color.FromArgb(CType(255, Byte), CType(128, Byte), CType(0, Byte))
        Me.AudioBtn.Font = New System.Drawing.Font("Tahoma", 10.0!, System.Drawing.FontStyle.Bold)
        Me.AudioBtn.ForeColor = System.Drawing.SystemColors.ControlLightLight
        Me.AudioBtn.Location = New System.Drawing.Point(96, 26)
        Me.AudioBtn.Name = "AudioBtn"
        Me.AudioBtn.Size = New System.Drawing.Size(160, 96)
        Me.AudioBtn.TabIndex = 4
        Me.AudioBtn.Text = "Play Audio"
        Me.ContextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.Circlemenu, Me.RectMenu, Me.TriangleMenu, Me.CloseMenu})
        Me.Circlemenu.Index = 0
        Me.Circlemenu.Text = "Circle"
        Me.RectMenu.Index = 1
        Me.RectMenu.Text = "Original"
        Me.TriangleMenu.Index = 2
        Me.TriangleMenu.Text = "TriangleMenu"
        Me.CloseMenu.Index = 3
        Me.CloseMenu.Text = "Close"
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(464, 277)

    End Sub

#End Region

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        originalSize = Me.Size
        Dim path1 As New GraphicsPath(FillMode.Alternate)
        path1.AddEllipse(New Rectangle(30, 30, AudioBtn.Width - 60, AudioBtn.Height - 60))
        AudioBtn.Region = New [Region](path1)

        Dim path2 As New GraphicsPath(FillMode.Alternate)
        path2.AddEllipse(New Rectangle(30, 30, VideoBtn.Width - 60, VideoBtn.Height - 60))
        VideoBtn.Region = New [Region](path2)

        Dim path3 As New GraphicsPath(FillMode.Alternate)
        path3.AddEllipse(New Rectangle(20, 20, VideoBtn.Width - 40, VideoBtn.Height - 40))
        AnimationBtn.Region = New [Region](path3)
    End Sub

    Private Sub AudioBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AudioBtn.Click
        MessageBox.Show("Play Audio Button clicked!")
    End Sub

    Private Sub VideoBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VideoBtn.Click
        MessageBox.Show("Play Video Button clicked!")
    End Sub

    Private Sub AnimationBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnimationBtn.Click
        MessageBox.Show("Play Animation Button clicked!")
    End Sub
End Class

14.3.1.Button PerformClickButton PerformClick
14.3.2.Button PropertiesButton Properties
14.3.3.Button FlatStyleButton FlatStyle
14.3.4.Button click eventButton click event
14.3.5.Add Button to a form and attach event handlerAdd Button to a form and attach event handler
14.3.6.Owner draw button
14.3.7.Button click event and text changed eventButton click event and text changed event
14.3.8.Button ImageListButton ImageList
14.3.9.Button with background imageButton with background image
14.3.10.Button AnchorButton Anchor
14.3.11.Irregular shape of ButtonIrregular shape of Button