Option Strict On
Imports System.Drawing
Imports System.Windows.Forms
Public Class Form1 : Inherits Form
' Instantiate buttons
Public WithEvents btnOK As New Button()
Public WithEvents btnCancel As New Button()
Public WithEvents btnQuit As New Button()
' Application entry point
Public Shared Sub Main()
Dim frm As New Form1()
frm.ShowDialog()
End Sub
' Class constructor
Public Sub New()
MyBase.New()
' Define button sizes and locations
Me.btnOK.Location = New Point(100, 50)
Me.btnOK.Size = New Size(100, 50)
Me.btnOK.Text = "OK"
Me.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK
Me.btnCancel.Location = New Point(100, 125)
Me.btnCancel.Size = New Size(100, 50)
Me.btnCancel.Text = "Cancel"
Me.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.btnQuit.Location = New Point(100, 200)
Me.btnQuit.Size = New Size(100, 50)
Me.btnQuit.Text = "Exit"
Me.btnQuit.DialogResult = System.Windows.Forms.DialogResult.Abort
' Define form controls and caption
Me.Controls.Add(btnOK)
Me.Controls.Add(btnCancel)
Me.Controls.Add(btnQuit)
Me.Text = "Button Click Events"
End Sub
' Event handler for all three buttons
Private Sub ButtonClicked(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles btnOK.Click, btnCancel.Click, btnQuit.Click
If TypeOf sender Is Button Then
Dim btn As Button = DirectCast(sender, Button)
If btn.Name = "btnOK" Then
Console.WriteLine("btnOK")
ElseIf btn.Name = "btnCancel" Then
Console.WriteLine("Cancel")
Exit Sub
Else
Me.Close()
End If
Else
Throw New ArgumentException( _
"The event was raised by an invalid object.")
End If
End Sub
End Class