VB Forms control

Let's start with creating a Window Forms Application by following the following steps in Microsoft Visual Studio:

File -> New Project -> Windows Forms Applications

Finally, select OK, Microsoft Visual Studio creates your project and displays following window Form with a name Form1

Visual Basic Form is the container for all the controls that make up the user interface. Every window you see in a running visual basic application is a form, thus the terms form and window describe the same entity. Visual Studio creates a default form for you when you create a Windows Forms Application.

Every form will have title bar on which the form's caption is displayed and there will be buttons to close, maximize and minimize the form shown below:

If you click the icon on the top left corner, it opens the control menu, which contains the various commands to control the form like to move control from one place to another place, to maximize or minimize the form or to close the form.

Form Properties

Following table lists down various important properties related to a form. These properties can be set or read during application execution. You can refer to Microsoft documentation for a complete list of properties associated with a Form control:

1AcceptButtonThe button that's automatically activated when you press Enter, no matter which control has the focus at the time. Usually the OK button on a form is set as AcceptButton for a form.
2CancelButtonThe button that's automatically activated when you hit the Esc key.Usually, the Cancel button on a form is set as CancelButton for a form.
3AutoScaleThis Boolean property determines whether the controls you place on the form are automatically scaled to the height of the current font. The default value of this property is True. This is a property of the form, but it affects the controls on the form.
4AutoScrollThis Boolean property indicates whether scroll bars will be automatically attached to the form if it is resized to a point that not all its controls are visible.
5AutoScrollMinSizeThis property lets you specify the minimum size of the form, before the scroll bars are attached.
6AutoScrollPositionThe AutoScrollPosition is the number of pixels by which the two scroll bars were displaced from their initial locations.
7BackColorSets the form background color.
8BorderStyleThe BorderStyle property determines the style of the form's border and the appearance of the form:
  • None: Borderless window that can't be resized.
  • Sizable: This is default value and will be used for resizable window that's used for displaying regular forms.
  • Fixed3D: Window with a visible border, "raised" relative to the main area. In this case, windows can't be resized.
  • FixedDialog: A fixed window, used to create dialog boxes.
  • FixedSingle: A fixed window with a single line border.
  • FixedToolWindow: A fixed window with a Close button only. It looks like the toolbar displayed by the drawing and imaging applications.
  • SizableToolWindow: Same as the FixedToolWindow but resizable. In addition, its caption font is smaller than the usual.
9ControlBoxBy default, this property is True and you can set it to False to hide the icon and disable the Control menu.
10EnabledIf True, allows the form to respond to mouse and keyboard events; if False, disables form.
11FontThis property specify font type, style, size
12HelpButtonDetermines whether a Help button should be displayed in the caption box of the form.
13HeightThis is the height of the Form in pixels.
14MinimizeBoxBy default, this property is True and you can set it to False to hide the Minimize button on the title bar.
15MaximizeBoxBy default, this property is True and you can set it to False to hide the Maximize button on the title bar.
16MinimumSizeThis specifies the minimum height and width of the window you can minimize.
17MaximumSizeThis specifies the maximum height and width of the window you maximize.
18NameThis is the actual name of the form.
19StartPositionThis property determines the initial position of the form when it's first displayed. It will have any of the following values:
  • CenterParent: The form is centered in the area of its parent form.
  • CenterScreen: The form is centered on the monitor.
  • Manual: The location and size of the form will determine its starting position.
  • WindowsDefaultBounds: The form is positioned at the default location and size determined by Windows.
  • WindowsDefaultLocation: The form is positioned at the Windows default location and has the dimensions you've set at design time.
20TextThe text, which will appear at the title bar of the form.
21Top, LeftThese two properties set or return the coordinates of the form's top-left corner in pixels.
22TopMostThis property is a True/False value that lets you specify whether the form will remain on top of all other forms in your application. Its default property is False.
23WidthThis is the width of the form in pixel.

Form Methods

The following are some of the commonly used methods of the Form class.You can refer to Microsoft documentation for a complete list of methods associated with forms control:

S.N.Method Name Description
1ActivateActivates the form and gives it focus.
2ActivateMdiChildActivates the MDI child of a form.
3AddOwnedFormAdds an owned form to this form.
4BringToFrontBrings the control to the front of the z-order.
5CenterToParentCenters the position of the form within the bounds of the parent form.
6CenterToScreenCenters the form on the current screen.
7CloseCloses the form.
8ContainsRetrieves a value indicating whether the specified control is a child of the control.
9FocusSets input focus to the control.
10HideConceals the control from the user.
11RefreshForces the control to invalidate its client area and immediately redraw itself and any child controls.
12Scale(SizeF)Scales the control and all child controls by the specified scaling factor.
13ScaleControlScales the location, size, padding, and margin of a control.
14ScaleCorePerforms scaling of the form.
15SelectActivates the control.
16SendToBackSends the control to the back of the z-order.
17SetAutoScrollMarginSets the size of the auto-scroll margins.
18SetDesktopBoundsSets the bounds of the form in desktop coordinates.
19SetDesktopLocationSets the location of the form in desktop coordinates.
20SetDisplayRectLocationPositions the display window to the specified value.
21ShowDisplays the control to the user.
22ShowDialogShows the form as a modal dialog box.

Form Events

Following table lists down various important events related to a form. You can refer to Microsoft documentation for a complete list of events associated with forms control:

1ActivatedOccurs when the form is activated in code or by the user.
2ClickOccurs when the form is clicked.
3ClosedOccurs before the form is closed.
4ClosingOccurs when the form is closing.
5DoubleClickOccurs when the form control is double-clicked.
6DragDropOccurs when a drag-and-drop operation is completed.
7EnterOccurs when the form is entered.
8GotFocusOccurs when the form control receives focus.
9HelpButtonClickedOccurs when the Help button is clicked.
10KeyDownOccurs when a key is pressed while the form has focus.
11KeyPressOccurs when a key is pressed while the form has focus.
12KeyUpOccurs when a key is released while the form has focus.
13LoadOccurs before a form is displayed for the first time.
14LostFocusOccurs when the form loses focus.
15MouseDownOccurs when the mouse pointer is over the form and a mouse button is pressed.
16MouseEnterOccurs when the mouse pointer enters the form.
17MouseHoverOccurs when the mouse pointer rests on the form.
18MouseLeaveOccurs when the mouse pointer leaves the form.
19MouseMoveOccurs when the mouse pointer is moved over the form.
20MouseUpOccurs when the mouse pointer is over the form and a mouse button is released.
21MouseWheelOccurs when the mouse wheel moves while the control has focus.
22MoveOccurs when the form is moved.
23ResizeOccurs when the control is resized.
24ScrollOccurs when the user or code scrolls through the client area.
25ShownOccurs whenever the form is first displayed.
26VisibleChangedOccurs when the Visible property value changes.


Following is an example, which shows how we create two buttons at the time of form load event and different properties are being set at the same time.

Because Form1 is being referenced within its own event handler, so it will be written as Me instead of using its name, but if we access the same form inside any other control's event handler, then it will be accessed using its name Form1.

Public Class Form1

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      ' Create two buttons to use as the accept and cancel buttons. 
      Dim button1 As New Button()
      Dim button2 As New Button()
      ' Set the text of button1 to "OK".
      button1.Text = "OK"
      ' Set the position of the button on the form.
      button1.Location = New Point(10, 10)
      ' Set the text of button2 to "Cancel".
      button2.Text = "Cancel"
      ' Set the position of the button based on the location of button1.
      button2.Location = _
         New Point(button1.Left, button1.Height + button1.Top + 10)
      ' Set the caption bar text of the form.   
      Me.Text = "fastlearning.in"
      ' Display a help button on the form.
      Me.HelpButton = True
     ' Define the border style of the form to a dialog box.
      Me.FormBorderStyle = FormBorderStyle.FixedDialog
      ' Set the MaximizeBox to false to remove the maximize box.
      Me.MaximizeBox = False
      ' Set the MinimizeBox to false to remove the minimize box.
      Me.MinimizeBox = False
      ' Set the accept button of the form to button1.
      Me.AcceptButton = button1
      ' Set the cancel button of the form to button2.
      Me.CancelButton = button2
      ' Set the start position of the form to the center of the screen.
      Me.StartPosition = FormStartPosition.CenterScreen
      ' Set window width and height
      Me.Height = 300
      Me.Width = 560
      ' Add button1 to the form.
      ' Add button2 to the form.
   End Sub
End Class

Share this article on