Maison > développement back-end > C++ > Comment puis-je transmettre une variable entre les formulaires dans les applications Windows Forms ?

Comment puis-je transmettre une variable entre les formulaires dans les applications Windows Forms ?

Patricia Arquette
Libérer: 2025-01-01 10:28:11
original
285 Les gens l'ont consulté

How Can I Pass a Variable Between Forms in Windows Forms Applications?

Transmission d'une variable entre les formulaires dans les formulaires Windows

Dans les applications Windows Forms, la transmission de données entre les formulaires peut être réalisée à l'aide de délégués et d'événements. Le problème survient lorsqu'un formulaire, le formulaire « enfant », nécessite d'accéder à une variable à partir du formulaire « parent ».

Pour résoudre ce problème, envisagez d'utiliser des délégués pour envoyer des données du formulaire parent au formulaire enfant. Dans le formulaire parent, définissez un délégué et un gestionnaire d'événements pour celui-ci. Lorsque vous cliquez sur le bouton pour ouvrir le formulaire enfant, créez un objet argument d'événement portant la valeur de la variable et déclenchez l'événement.

Dans le formulaire enfant, abonnez-vous à l'événement dans le constructeur. Lorsque l'événement se produit, récupérez la valeur de la variable à partir de l'objet argument d'événement. Modifiez les contrôles ou les propriétés du formulaire enfant pour afficher le texte variable de manière dynamique.

Voici un exemple de code en C# :

// Parent Form
public partial class MainForm : Form
{
    public delegate void PageInfoHandler(object sender, PageInfoEventArgs e);
    public event PageInfoHandler PageInfoRetrieved;

    private void toolStripBtnSettings_Click(object sender, EventArgs e)
    {
        PageInfoEventArgs args = new PageInfoEventArgs(SomeString);
        OnPageInfoRetrieved(args);
        SettingsForm settingsForm = new SettingsForm();
        settingsForm.ShowDialog();
    }

    private void OnPageInfoRetrieved(PageInfoEventArgs args)
    {
        if (PageInfoRetrieved != null)
            PageInfoRetrieved(this, args);
    }
}

// Child Form
public partial class SettingsForm : Form
{
    private string m_Data; // Variable to store the passed value

    public SettingsForm()
    {
        InitializeComponent();
        Subscribe to PageInfoRetrieved event
    }

    private void OnPageInfoRetrieved(object sender, PageInfoEventArgs e)
    {
        m_Data = e.Value;
        // Update controls or properties in this form
    }

    public string Data => m_Data; // Expose the variable as a property
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal