Variabelen doorgeven tussen Windows Forms Windows zonder ShowDialog ()

Video: Variabelen doorgeven tussen Windows Forms Windows zonder ShowDialog ()

Video: Variabelen doorgeven tussen Windows Forms Windows zonder ShowDialog ()
Video: How To Extend or Span Your Wallpaper Across Dual Monitors [Windows] 2024, Maart
Variabelen doorgeven tussen Windows Forms Windows zonder ShowDialog ()
Variabelen doorgeven tussen Windows Forms Windows zonder ShowDialog ()
Anonim

Wanneer u een Windows Forms-toepassing programmeert, moet u altijd variabelen van een tweede formuliervenster krijgen, zoals een optievorm of pop-upzoekopdracht.

De meeste gidsen vertellen u dat u het tweede formulier moet openen met ShowDialog (), waardoor de gebruiker niets meer kan doen totdat het tweede formuliervenster is gesloten. Dit werkt bijvoorbeeld niet goed voor een zoek / vervang-dialoogvenster. Het zal ook niet erg goed werken voor op maat gemaakte pop-upvormen.

De snelle manier om variabelen tussen de formulieren door te geven, is met behulp van Delegates. U kunt een gebeurtenisafhandelingsroutine instellen voor de gebeurtenis Afsluiting van het tweede formulier en de gebeurtenis in de eerste vorm afhandelen. 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 vanuit dat we op een knop hebben geklikt die het OptionsForm opent met een methode-aanroep Show (). Laten we nu eens kijken naar de magie:

……. snip…….

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

}

private void theform_Closing(object sender, CancelEventArgs e) {

OptionsForm theform = (OptionsForm)sender;

// Grab the variable from the options form. The options form should set this variable before it closes, and the variable should be marked as public. string localvar = theform.thestringvariable;

}

Dat is alles wat er is.

Aanbevolen: