rationaliser le transfert de données entre les formulaires C # Windows
Une communication efficace entre plusieurs formulaires Windows dans une application C # est cruciale, en particulier lors du transfert de données à partir d'un formulaire secondaire (par exemple, une fenêtre de paramètres) vers le formulaire principal. La gestion de nombreux paramètres via des propriétés individuelles peut devenir lourde. Une solution plus propre implique la surcharge du constructeur.
Cette approche transmet une référence du formulaire d'appel au constructeur du formulaire secondaire, créant un lien direct pour l'échange de données.
Voici un exemple démontrant cette technique:
Form1 (formulaire principal):
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(this); frm.ShowDialog(); // Use ShowDialog to block until Form2 closes } public string LabelText { get { return Lbl.Text; } set { Lbl.Text = value; } } }
Lorsque Form1
ouvre Form2
, il passe sa propre référence.
Form2 (formulaire secondaire):
public partial class Form2 : Form { private Form1 mainForm; public Form2(Form callingForm) { mainForm = callingForm as Form1; InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { mainForm.LabelText = txtMessage.Text; this.Close(); // Close Form2 after data transfer } }
Form2
utilise cette référence (mainForm
) pour accéder et modifier les propriétés de Form1
, permettant un transfert de données transparente. Remarquez l'utilisation de ShowDialog()
dans Form1
et this.Close()
dans Form2
pour un meilleur flux de contrôle. Cela garantit que Form2
est fermé une fois le transfert de données terminé et empêche un comportement inattendu. Cette méthode fournit un moyen robuste et efficace de gérer la communication inter-formelle en C #.
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!