Startpagina » hoe » Variabelen doorgeven tussen Windows Forms Windows zonder ShowDialog ()

    Variabelen doorgeven tussen Windows Forms Windows zonder ShowDialog ()

    Wanneer u een Windows Forms-toepassing programmeert, moet u altijd variabelen van een tweede formuliervenster krijgen, zoals een optievorm of pop-upzoekopdracht.

    De meeste gidsen vertellen u dat u het tweede formulier moet openen met ShowDialog (), waardoor de gebruiker niets meer kan doen totdat het tweede formuliervenster is gesloten. Dit werkt bijvoorbeeld niet goed voor een zoek / vervang-dialoogvenster. Het zal ook niet erg goed werken voor op maat gemaakte pop-upvormen.

    De snelle manier om variabelen tussen de formulieren door te geven, is met behulp van Delegates. U kunt een gebeurtenisafhandelingsroutine instellen voor de gebeurtenis Afsluiting van het tweede formulier en de gebeurtenis in de eerste vorm afhandelen. Hiermee kunt u variabelen vastleggen voordat het tweede formuliervenster is gesloten.

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

    Belangrijkste vorm

    OptionsForm

    We gaan er verder vanuit dat we op een knop hebben geklikt die het OptionsForm opent met een methode-aanroep Show (). Laten we nu eens kijken naar de magie:

    .... knip… .

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

    private void theform_Closing (object afzender, CancelEventArgs e)

    OptionsForm theform = (OptionsForm) afzender;

    // Pak de variabele uit het optiesformulier. Het optiesformulier moet deze variabele instellen voordat deze wordt gesloten en de variabele moet als openbaar worden gemarkeerd.
    string localvar = theform.thestringvariable;

    Dat is alles wat er is.