mercredi 25 janvier 2012

Předávání proměnných mezi Windows Forms Windows bez ShowDialog ()

Při programování Windows Forms aplikaci, budete neustále muset získat proměnných z druhého okna formuláře, například formuláře Možnosti hledání nebo místní řádku.

Většina průvodců tam vám řeknou, že jste si otevřít druhý formulář s ShowDialog (), která blokuje uživatele v tom nic jiného, ​​než že jsem zavřel okno druhého ročníku. To nebude fungovat velmi dobře Najít / Nahradit dialog, například. To také nebude fungovat velmi dobře vypracované pro vlastní popup formuláře.

Rychlý způsob, jak předat proměnné mezi formami používá delegátů. Můžete nastavit EventHandler pro zakončení druhého ročníku, a zpracovat událost v prvním formuláři. To vám umožní zachytit proměnných před druhou formu okna zavřená.

V tomto cvičení budeme předpokládat, že máme dvě formy:

MainForm

OptionsForm

Budeme dále předpokládat, že jsme klikli nějaké tlačítko, které otevře OptionsForm s Show () volání metody. Nyní se pojďme podívat na kouzlo:

....... odstřihnout .......

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

}

private void theform_Closing (object sender, CancelEventArgs e)
{

OptionsForm theform = (OptionsForm) odesílatel;

/ / Chyť proměnné z možností formuláře. Možnosti Formulář by měl nastavit tuto proměnnou dříve, než se zavře, a proměnné by měly být označeny jako veřejné.
Řetězec localvar = theform.thestringvariable;

}

To je vše, co se to.

Aucun commentaire:

Enregistrer un commentaire