Maison >développement back-end >C++ >Comment communiquer efficacement entre deux formulaires Windows en C #?
La méthode de constructeur de charge lourde
Dans la fenêtre principale, définissez un constructeur, qui utilise l'instance de la fenêtre d'option comme paramètre:
<code class="language-csharp">public partial class Form1 : Form { public Form1() { InitializeComponent(); } public Form1(Form2 optionsForm) { InitializeComponent(); // 根据optionsForm参数初始化必要的选项 } // ... 其他代码 }</code>Dans la fenêtre facultative, définissez un constructeur lourd, qui accepte la fenêtre principale:
<code class="language-csharp">public partial class Form2 : Form { private Form1 _mainForm; public Form2() { InitializeComponent(); } public Form2(Form1 mainForm) { InitializeComponent(); _mainForm = mainForm; } // ... 其他代码 }</code>Lorsque la fenêtre facultative est ouverte à partir de la fenêtre principale, l'instance de la fenêtre principale est passé sous forme de paramètre au constructeur de la fenêtre d'option:
<code class="language-csharp">private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(this); frm.Show(); }</code>Dans la fenêtre facultative, vous pouvez désormais accéder aux attributs et aux méthodes d'accès directement à la fenêtre principale via _Mainform. Par exemple, vous pouvez modifier l'étiquette sur la fenêtre principale:
<code class="language-csharp">private void button1_Click(object sender, EventArgs e) { _mainForm.label1.Text = "从选项窗体修改"; }</code>Cette méthode fournit un moyen simple et efficace de communiquer des données entre Windows sans s'appuyer sur la gestion des attributs complexes. Il est particulièrement utile pour la fenêtre ou la boîte de dialogue en option qui doit transmettre plusieurs fenêtres de transmission de points de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!