Heim >Backend-Entwicklung >C++ >Wie kommuniziere ich effizient zwischen zwei Windows -Formen in C#?
Die Methode des starken Lastkonstruktors
Definieren Sie im Hauptfenster einen Konstruktor, der die Instanz des Optionsfensters als Parameter verwendet:
<code class="language-csharp">public partial class Form1 : Form { public Form1() { InitializeComponent(); } public Form1(Form2 optionsForm) { InitializeComponent(); // 根据optionsForm参数初始化必要的选项 } // ... 其他代码 }</code>Definieren Sie im optionalen Fenster einen schweren Konstruktor, der das Hauptfenster akzeptiert:
<code class="language-csharp">public partial class Form2 : Form { private Form1 _mainForm; public Form2() { InitializeComponent(); } public Form2(Form1 mainForm) { InitializeComponent(); _mainForm = mainForm; } // ... 其他代码 }</code>Wenn das optionale Fenster aus dem Hauptfenster geöffnet wird, wird die Instanz des Hauptfensters als Parameter an den Konstruktor des Optionsfensters übergeben:
<code class="language-csharp">private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(this); frm.Show(); }</code>Im optionalen Fenster können Sie jetzt auf die Attribute und Methoden des direkten Zugriffs auf das Hauptfenster über _mainform zugreifen. Beispielsweise können Sie das Etikett im Hauptfenster ändern:
<code class="language-csharp">private void button1_Click(object sender, EventArgs e) { _mainForm.label1.Text = "从选项窗体修改"; }</code>Diese Methode bietet eine einfache und effektive Möglichkeit, Daten zwischen Windows zu kommunizieren, ohne sich auf komplexe Attributverwaltung zu verlassen. Es ist besonders nützlich für das optionale Fenster oder Dialogfeld, in dem mehrere Datenpunktübertragungsfenster übertragen werden müssen.
Das obige ist der detaillierte Inhalt vonWie kommuniziere ich effizient zwischen zwei Windows -Formen in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!