Module MainModule Public form_start As MyMainForm Public oForm1 As Form1 Public oForm2 As Form2 Sub main() Dim context As New ApplicationContext() form_start = New MyMainForm() context.MainForm = form_start System.Windows.Forms.Application.Run(context) End Sub End ModuleYou will need to go into your project's properties and change the Startup object to be "Sub Main" in this sample. Once this is done, then you can reference the variables form_start, oForm1, and oForm2 from anywhere in your app. In your form_start form, just set the variables equal to the newly instantiated form like:
oForm1 = New Form1()
In your instanse of Form2 you can reference Form1 like:Messagebox(oForm1.TextBox1.Text)Another approach to take is to use a Forms collection object that you store references to instantiated forms. You will need to manually maintain this collection. This approach is used if you need to have multiple instances of the same form class.