Zugriff auf Formularsteuerelemente aus einem anderen Formular
In einem Szenario, in dem Sie mehrere Formulare haben und auf Steuerelemente zugreifen müssen, die zu einem anderen Formular gehören, suchen Sie effiziente Methoden sind entscheidend. Ein Ansatz besteht darin, eine Setter-Eigenschaft in einer Form zu erstellen und in der anderen Form darauf zu verweisen. Eine weitere Verbesserung dieser Kommunikation ist jedoch möglich.
Die Einführung des Konzepts der Singleton-Formulare ist eine mögliche Lösung. Es ist jedoch möglicherweise nicht in allen Fällen die optimale Lösung. Erwägen Sie stattdessen die Übergabe einer Referenz von einem Formular an ein anderes.
Beispielimplementierung:
In diesem Beispiel löst das Hauptformular (Form1) das Öffnen eines anderen Formulars aus ( Formular2). Um die Kommunikation zu erleichtern, verwendet Form2 bei seiner Instanziierung das aufrufende Formular als Argument und stellt so einen Verweis auf seine Mitglieder bereit. Dies eröffnet verschiedene Kommunikationsmöglichkeiten.
Formular1:
public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(this); frm.Show(); } public string LabelText { get { return Lbl.Text; } set { Lbl.Text = value; } }
Formular2:
public Form2() { InitializeComponent(); } private Form1 mainForm = null; public Form2(Form callingForm) { mainForm = callingForm as Form1; InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { this.mainForm.LabelText = txtMessage.Text; }
Indem Sie dies übernehmen Durch diesen Ansatz wird die Kommunikation zwischen Formularen flexibler, sodass Sie nach Bedarf auf Steuerelemente zugreifen und Daten bearbeiten können.
Das obige ist der detaillierte Inhalt vonWie kann ich in C# effizient auf Formularsteuerelemente aus einem anderen Formular zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!