Die Community zu .NET und Classic VB.
Menü

FAQ 0025: Wie kann ich auf Steuerelemente auf anderen Formularen zugreifen?

 von 

Frage 

Wie kann ich auf Steuerelemente auf anderen Formularen zugreifen?

Direkter Zugriff in VB Classic  

MsgBox Form2.Controls.Item("txtText").Text

Listing 1: Der vollständige Weg

MsgBox Form2.txtText.Text

Listing 2: Abkürzung

CommandButtons sind ein Sonderfall. Mit folgendem Code wird der CommandButton ausgelöst, es wird also die Click-Methode des CommandButtons ausgeführt:

Form2.cmdBeenden.Value = True

Listing 3: Sonderfall CommandButtons

Direkter Zugriff in VB .NET  

Ergänzung von Marvin Heumüller:
Um auf die Steuerelemente einer anderen Form zugreifen zu können, muß eine Instanz der anderen bekannt sein.

Private Form1 As Form1

Public Sub New(ByVal Form1 As Form1) '<-- neu
    MyBase.New()
    'This call is required by the Windows Form Designer.
    InitializeComponent()
    'Add any initialization after the InitializeComponent() call
    Me.Form1 = Form1 '<-- neu
End Sub

Listing 4: Zugriff mit .NET

Nun kann man in der gesamten Klasse "Form2" auf die Klasse "Form1" und alle darin enthaltenen Steuerelemente zugreifen.

Zugriff über Eigenschaften  

Daten kann man auch über Eigenschaften (Properties) zwischen den Formularen austauschen.
FAQ 0037: Variable von einer Form an eine andere übergeben zeigt, wie dies funktioniert.

Ihre Meinung  

Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.