Mittwoch, 25. Januar 2012

Pass Variabelen tussen Windows Forms Windows zonder ShowDialog ()

Wanneer u een Windows Forms application programming, zul je altijd nodig hebt om variabelen te krijgen van een tweede vorm venster, zoals een pop-up opties vorm of zoek prompt.

De meeste van de gidsen die er zijn zal je vertellen dat je de tweede vorm met ShowDialog (), die de gebruiker blokken van iets anders te doen totdat ze sluit het tweede formulier te openen. Dit zal niet goed werken voor een zoek / vervang dialoog, bijvoorbeeld. Het zal ook niet zo goed voor aangepaste getrokken popup vormen.

De snelle manier om variabelen tussen de vormen pas is met behulp van Afgevaardigden. U kunt een eventhandler voor het slotevenement van de tweede vorm, en omgaan met de gebeurtenis in de eerste vorm. Dit stelt u in staat om variabelen vast te leggen voor de tweede vorm venster is gesloten.

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

MainForm

OptionsForm

We gaan verder aannemen dat we een soort knop die de OptionsForm opent met een Show () methode aangeklikt. 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) afzender;

/ / Pak de variabele uit de opties te vormen. De opties formulier dient deze variabele ingesteld voordat het sluit, en de variabele moet worden gemarkeerd als openbaar.
snaar localvar = theform.thestringvariable;

}

Dat is alles wat er is.

Keine Kommentare:

Kommentar veröffentlichen