Homepage » hogyan kell » Változók átvitele a Windows Forms Windows között ShowDialog nélkül ()

    Változók átvitele a Windows Forms Windows között ShowDialog nélkül ()

    Amikor egy Windows Forms alkalmazást programoz, mindig szükség lesz a változókra egy második űrlapablakból, például egy opcióformából vagy a felugró keresőből..

    Az ott található útmutatók többsége azt fogja mondani, hogy a második formanyomtatványt a ShowDialog () segítségével kell megnyitnia, ami megakadályozza, hogy a felhasználó bármit mást csináljon, amíg bezárja a második űrlapot. Ez például nem fog jól működni egy kereső / cserélő párbeszédablakhoz. Ez nem fog jól működni az egyéni húzott űrlapokhoz.

    A változók gyors átvitelének módja a küldöttek használata. Beállíthat egy eseménykezelőt a második űrlap záró eseménye számára, és az első formában kezelheti az eseményt. Ez lehetővé teszi, hogy a második formátumablak bezárása előtt változókat rögzítsen.

    Ehhez a gyakorlathoz feltételezzük, hogy két formánk van:

    MainForm

    OptionsForm

    Feltételezzük továbbá, hogy rákattintunk valamilyen gombra, amely megnyitja az OptionsForm-ot egy Show () metódussal. Most nézzük meg a varázslatot:

    …. lenyisszant… .

    OpciókForm aform = új beállításokForm ();
    theform.Closing + = új CancelEventHandler (theform_Closing);
    theform.Show ();

    private void theform_Closing (objektumküldő, CancelEventArgs e)

    OptionsForm theform = (OpciókForm) küldő;

    // Fogja meg a változót az opciókból. A beállítási űrlapnak ezt a változót a zárás előtt kell beállítania, és a változót nyilvánosnak kell jelölni.
    string localvar = theform.thestringvariable;

    Ez az egész.