FAQ 0025: Wie kann ich auf Steuerelemente auf anderen Formularen zugreifen?
von Helge Rex
Frage
Wie kann ich auf Steuerelemente auf anderen Formularen zugreifen?
Direkter Zugriff in VB Classic
MsgBox Form2.Controls.Item("txtText").Text
MsgBox Form2.txtText.Text
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
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
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.