Mājas lapa » » Mainīt mainīgos lielumus starp Windows formām Windows bez ShowDialog ()

    Mainīt mainīgos lielumus starp Windows formām Windows bez ShowDialog ()

    Programmējot Windows Forms lietojumprogrammu, jums vienmēr būs jāsaņem mainīgie no otrā veidlapas loga, piemēram, opciju veidlapa vai uznirstošās meklēšanas uzvedne.

    Lielākā daļa no turienes norādīs, ka jums ir jāatver otrā veidlapa ar ShowDialog (), kas bloķē lietotāju, lai tā neko nedarītu, kamēr nav aizvērts otrais veidlapas logs. Tas, piemēram, nedarbosies, lai atrastu / aizstātu dialogu. Tā arī nedarbosies ļoti labi, lai izveidotu pielāgotas uznirstošās veidlapas.

    Ātrais veids, kā pāriet mainīgos lielumus starp veidlapām, izmanto delegātus. Jūs varat iestatīt notikuma pasūtītāju otrās formas noslēguma notikumam un rīkoties ar notikumu pirmajā formā. Tas ļauj jums uzņemt mainīgos, pirms otrā veidlapas logs ir aizvērts.

    Lai veiktu šo uzdevumu, mēs pieņemam, ka mums ir divas formas:

    MainForm

    IespējasForm

    Turklāt mēs pieņemam, ka esam noklikšķinājuši uz kāda veida pogas, kas atver opcijasForm ar Show () metodi. Tagad aplūkosim burvību:

    …. snip… .

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

    privātā tukšuma theform_Closing (objekta sūtītājs, CancelEventArgs e)

    IespējasForm theform = (IespējasForm) sūtītājs;

    // Piesaistiet mainīgo no opciju veidlapas. Opciju veidlapai šis mainīgais lielums jānosaka pirms tā aizvēršanas, un mainīgais ir jāmarķē kā publisks.
    string localvar = theform.thestringvariable;

    Tas viss ir ar to.