Kintamųjų keitimas tarp "Windows" formų Windows be "ShowDialog" ()

Kintamųjų keitimas tarp "Windows" formų Windows be "ShowDialog" ()
Kintamųjų keitimas tarp "Windows" formų Windows be "ShowDialog" ()

Video: Kintamųjų keitimas tarp "Windows" formų Windows be "ShowDialog" ()

Video: Kintamųjų keitimas tarp
Video: Set Different Wallpapers on Multiple Monitors in Windows 10 (Simple How to) - YouTube 2024, Gegužė
Anonim

Kai programuojate "Windows Forms" programą, visada turėsite gauti kintamuosius iš antrojo formos lango, pvz., Parinkčių formos arba iššokančiojo paieškos eilutės.

Daugelis čia pateikiamų vadovų jums pasakys, kad turite atidaryti antrąją formą su ShowDialog (), kuri blokuoja naudotoją darant kažką kita, kol jie uždarė antro formos langą. Pvz., Nepavyks rasti labai gerai, jei ieškos / pakeisite dialogą. Tai taip pat nebus labai gerai pritaikyta pasirinktoms iššokančioms formoms.

Greitas būdas perduoti kintamuosius tarp formų yra naudojant delegatus. Galite nustatyti įvykio tvarkyklę antros formos uždarymo įvykiui ir tvarkyti įvykį pirmoje formoje. Tai leidžia užfiksuoti kintamuosius prieš uždarant antrojo formato langą.

Šiai pratybai mes ketiname manyti, kad mes turime dvi formas:

MainForm

OptionsForm

Mes ketiname toliau daryti prielaidą, kad spustelėjome tam tikrą mygtuką, kuris atveria "OptionsForm" su skambučiu Show (). Dabar pažvelkime į magiją:

……. snip…….

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

}

private void theform_Closing(object sender, CancelEventArgs e) {

OptionsForm theform = (OptionsForm)sender;

// Grab the variable from the options form. The options form should set this variable before it closes, and the variable should be marked as public. string localvar = theform.thestringvariable;

}

Tai viskas priklauso nuo to.

Rekomenduojamas: