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