Pagrindinis » kaip » Persiųsti kintamuosius tarp „Windows“ formų Windows be „ShowDialog“ ()

    Persiųsti kintamuosius tarp „Windows“ formų Windows be „ShowDialog“ ()

    Kai programuojate „Windows Forms“ programą, visuomet turėsite gauti kintamųjų iš antrojo formos lango, pvz., Parinkčių formos arba iššokančios paieškos spartos.

    Daugelis ten esančių vadovų jums parodys, kad turite atidaryti antrąją formą su ShowDialog (), kuris neleidžia vartotojui daryti nieko kito, kol jie uždarys antrą formą. Pavyzdžiui, tai nebus labai naudinga norint rasti / pakeisti dialogą. Ji taip pat neveiks labai gerai, jei pasirinksite pasirinktas iškylančias formas.

    Greitas būdas perduoti kintamuosius tarp formų yra delegatų naudojimas. Antrosios formos uždarymo įvykiui galite nustatyti įvykių tvarkyklę ir tvarkyti įvykį pirmojoje formoje. Tai leidžia jums užfiksuoti kintamuosius, kol uždaromas antrosios formos langas.

    Norėdami atlikti šią užduotį, darysime prielaidą, kad turime dvi formas:

    MainForm

    ParinktysForm

    Toliau darysime prielaidą, kad spustelėjome tam tikrą mygtuką, kuris atidaro „OptionsForm“ su „Show“ () metodo skambučiu. Dabar pažiūrėkime į magiją:

    …. nukirpti… .

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

    privatus void theform_Closing (objekto siuntėjas, CancelEventArgs e)

    OptionsForm theform = (ParinktysForm) siuntėjas;

    // Patraukite kintamąjį iš parinkčių formos. Pasirinkimo formoje šis kintamasis turėtų būti nustatytas prieš jį uždarant, o kintamasis turėtų būti pažymėtas kaip viešas.
    string localvar = theform.thestringvariable;

    Tai viskas, ką ji turi.