/ / Variabelen doorgeven tussen Windows-formulieren Windows zonder ShowDialog ()

Variabelen doorgeven tussen Windows-formulieren Windows zonder ShowDialog ()

Wanneer u een Windows Forms-toepassing programmeert, moet u altijd variabelen uit een tweede formuliervenster ophalen, zoals een optieformulier of een pop-upzoekopdracht.

De meeste gidsen zullen je dat vertellenu moet het tweede formulier openen met ShowDialog (), waardoor de gebruiker niets anders kan doen totdat hij het tweede formuliervenster heeft gesloten. Dit werkt bijvoorbeeld niet erg goed voor een dialoogvenster Zoeken / vervangen. Het werkt ook niet erg goed voor op maat gemaakte pop-upformulieren.

De snelle manier om variabelen tussen de formulieren door te gevengebruikt gedelegeerden. U kunt een eventhandler instellen voor de Closing-gebeurtenis van het tweede formulier en de gebeurtenis afhandelen in het eerste formulier. Hiermee kunt u variabelen vastleggen voordat het tweede formuliervenster is gesloten.

Voor deze oefening gaan we ervan uit dat we twee vormen hebben:

Belangrijkste vorm

OptionsForm

We gaan er verder van uit dat we op een soort knop hebben geklikt die de OptionsForm opent met een methode-aanroep (). Laten we nu eens kijken naar de magie:

....... knip…….

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

}

privé ongeldig theform_Closing (afzender van object, CancelEventArgs e)
{

OptionsForm theform = (OptionsForm) afzender;

// Pak de variabele uit het optieformulier. Het optievorm moet deze variabele instellen voordat deze wordt gesloten en de variabele moet worden gemarkeerd als openbaar.
string localvar = theform.thestringvariable;

}

Dat is alles wat er is.