Working with Windows Forms
Using the default Form instance
Section titled “Using the default Form instance”VB.NET offers default Form instances. The developer does not need to create the instance as it is created behind the scenes. However, it is not preferable to use the default instance all but the simplest programs.
Public Class Form1
Public Sub Foo() MessageBox.Show("Bar") End Sub
End Class
Module Module1
Public Sub Main() ' Default instance Form1.Foo() ' New instance Dim myForm1 As Form1 = New Form1() myForm1.Foo()
End Sub
End ModuleSee also:
- Do you have to explicitly create instance of form in VB.NET?
- Why is there a default instance of every form in VB.Net but not in C#?
Passing Data From One Form To Another
Section titled “Passing Data From One Form To Another”Sometimes you might want to pass information that has been generated in one form, to another form for additional use. This is useful for forms that display a search tool, or a settings page among many other uses.
Let’s say you want to pass a DataTable between a form that is already open (MainForm) and a new form (NewForm):
In The MainForm:
Private Sub Open_New_Form() Dim NewInstanceOfForm As New NewForm(DataTable1) NewInstanceOfForm.ShowDialog() End SubIn The NewForm
Public Class NewForm Dim NewDataTable as Datatable
Public Sub New(PassedDataTable As Datatable) InitializeComponent() NewDataTable= PassedDataTable End Sub
End ClassNow when the NewForm is opened, it is passed DataTable1 from MainForm and stored as NewDataTable in NewForm for use by that form.
This can be extremely useful when trying to pass large amounts of information between forms, especially when combining all of the information in to a single ArrayList and passing the ArrayList to the new form.