Overview of Using Controls in Windows Forms
This topic describes the essential elements of a Windows Forms application and provides a simple example that uses controls and handles events in a Windows Forms application.
At a minimum, a Windows Forms application consists of the following elements:
One or more classes that derive from System.Windows.Forms.Form.
The following code example shows the essential elements of a Windows Forms application.
Option Explicit Option Strict Imports System Imports System.Windows.Forms Public Class MyForm Inherits Form Public Sub New() Me.Text = "Hello World" End Sub 'New <STAThread()> _ Public Shared Sub Main() Dim aform As New MyForm() ' The Application.Run method processes messages from the operating system ' to your application. If you comment out the next line of code, ' your application will compile and execute, but because it is not in the ' message loop, it will exit after an instance of the form is created. Application.Run(aform) End Sub End Class
The following code example shows a simple application that illustrates how Windows Forms applications use controls and handle events. The example consists of three buttons on a form; each button changes the background color when clicked.
Option Explicit Option Strict Imports System Imports System.ComponentModel Imports System.Windows.Forms Imports System.Resources Imports System.Drawing Public Class MyForm Inherits Form Private red As Button Private blue As Button Private green As Button Public Sub New() InitializeComponent() End Sub Protected Overloads Overrides Sub Dispose(disposing as Boolean) MyBase.Dispose(disposing) End Sub ' InitializeComponent is a helper method for the constructor. ' It is included for consistency with code that is ' auto-generated by the Windows Forms designer in Visual Studio. Private Sub InitializeComponent() ' Creates three buttons, sets their properties, and attaches ' an event handler to each button. red = New Button() red.Text = "Red" red.Location = New Point(100, 50) red.Size = New Size(50, 50) AddHandler red.Click, AddressOf button_Click Controls.Add(red) blue = New Button() blue.Text = "Blue" blue.Location = New Point(100, 100) blue.Size = New Size(50, 50) AddHandler blue.Click, AddressOf button_Click Controls.Add(blue) green = New Button() green.Text = "Green" green.Location = New Point(100, 150) green.Size = New Size(50, 50) AddHandler green.Click, AddressOf button_Click Controls.Add(green) End Sub ' Event handler. Private Sub button_Click(sender As Object, e As EventArgs) If sender Is red Then Me.BackColor = Color.Red Else If sender Is blue Then Me.BackColor = Color.Blue Else Me.BackColor = Color.Green End If End If End Sub ' The STAThreadAttribute informs the common language runtime that ' Windows Forms uses the single-threaded apartment model. <STAThread()> _ Public Shared Sub Main() Application.Run(New MyForm()) End Sub End Class