Rubrik: Oberfläche · Fenster | VB-Versionen: VB.NET | 12.04.05 |
Zugriff vom anderen Formular auf das Hauptformular Wie man aus einem anderen Formular heraus die Controls des Hauptformulars ansprechen kann, dass zeigt dieser Tipp. | ||
Autor: Lars Konschak | Bewertung: | Views: 20.357 |
ohne Homepage | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Manchmal möchte man aus einem Formular heraus auf die Komponenten des Hauptformulars oder auf das Hauptformular selber zugreifen, um z.B Daten einzulesen oder Daten auf dem Hauptformular oder auf deren Controls darzustellen.
Um das zu ermöglichen, muss das Instanzieren des Hauptformulars über die Methode Main vorgenommen werden, welche in einer neuen Klasse untergebracht wird. Standardmäßig wird das Hauptformular in den Projektoptionen als Startobjekt festgelegt. In dieser wird das Startobjekt nun auf "Sub Main" geändert.
Für dieses Beispiel werden folgende Komponenten benötigt:
- Form1 (das Haupformular). Auf diesem befindet sich der Button btnShowForm2
- Form2. Auf diesem befindet sich die Textbox TextBox1 und der Button btnÄndern
Als erstes muss man wie bereits erwähnt, das Startobjekt unter den Projektoptionen von Form1 auf Sub Main festlegen.
Dann bitte folgende Klasse erstellen:
Public Class MainWindow Public Shared frmMain As New Form1 Public Shared Sub Main() Application.Run(frmMain) End Sub End Class
' Form2 anzeigen lassen (Code in Form1) Public Class Form1 Inherits System.Windows.Forms.Form Private Sub btnShowForm2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnShowForm2.Click Dim frmForm2 As New Form2 frmForm2.Show() End Sub End Class
' Über Form2 können wir hier jetzt die TextBox ' von Form1 verändern Public Class Form2 Inherits System.Windows.Forms.Form Private Sub btnÄndern_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnÄndern.Click MainWindow.frmMain.Text = TextBox1.Text End Sub End Class