in

Passer des variables entre Windows Forms Windows sans ShowDialog ()

Lorsque vous programmez une application Windows Forms, vous devrez invariablement obtenir des variables à partir d’une deuxième fenêtre de formulaire, comme un formulaire d’options ou une invite de recherche contextuelle.

La plupart des guides là-bas vous diront que vous devez ouvrir le deuxième formulaire avec ShowDialog (), qui empêche l’utilisateur de faire quoi que ce soit d’autre jusqu’à ce qu’il ait fermé la deuxième fenêtre du formulaire. Cela ne fonctionnera pas très bien pour une boîte de dialogue de recherche / remplacement, par exemple. Cela ne fonctionnera pas non plus très bien pour les formulaires contextuels dessinés personnalisés.

Le moyen rapide de passer des variables entre les formulaires consiste à utiliser des délégués. Vous pouvez définir un gestionnaire d’événements pour l’événement Closing du deuxième formulaire et gérer l’événement dans le premier formulaire. Cela vous permet de capturer des variables avant la fermeture de la deuxième fenêtre de formulaire.

Pour cet exercice, nous allons supposer que nous avons deux formes:

MainForm

OptionsFormulaire

Nous allons en outre supposer que nous avons cliqué sur une sorte de bouton qui ouvre le OptionsForm avec un appel de méthode Show (). Jetons maintenant un coup d’œil à la magie:

……. couper…….

OptionsForm theform = new OptionsForm ();
theform.Closing + = new CancelEventHandler (theform_Closing);
theform.Show ();

}

private void theform_Closing (expéditeur de l’objet, CancelEventArgs e)
{

OptionsForm theform = (OptionsForm) expéditeur;

// Récupère la variable du formulaire d’options. Le formulaire d’options doit définir cette variable avant de se fermer et la variable doit être marquée comme publique.
string localvar = theform.thestringvariable;

}

C’est tout ce qu’on peut en dire.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment connecter un clavier physique à votre Xbox One

Comment connecter un clavier physique à votre Xbox One

Comment les périphériques 802.11b ralentissent votre réseau Wi-Fi (et ce que vous pouvez faire à ce sujet)

Comment les périphériques 802.11b ralentissent votre réseau Wi-Fi (et ce que vous pouvez faire à ce sujet)