Pass Variables antara Windows Forms Windows tanpa ShowDialog ()

Pass Variables antara Windows Forms Windows tanpa ShowDialog ()
Pass Variables antara Windows Forms Windows tanpa ShowDialog ()

Video: Pass Variables antara Windows Forms Windows tanpa ShowDialog ()

Video: Pass Variables antara Windows Forms Windows tanpa ShowDialog ()
Video: Mengatur Tampilan Proyektor. Perbedaan PC Screen Only, Duplicate, Extend, Second Screen Only - YouTube 2024, Mungkin
Anonim

Ketika Anda memprogram aplikasi Windows Forms, Anda akan selalu perlu mendapatkan variabel dari jendela formulir kedua, seperti formulir opsi atau prompt pencarian popup.

Sebagian besar pemandu di luar sana akan memberi tahu Anda bahwa Anda harus membuka formulir kedua dengan ShowDialog (), yang memblokir pengguna untuk melakukan hal lain hingga mereka menutup jendela formulir kedua. Ini tidak akan berfungsi dengan baik untuk dialog temukan / ganti, misalnya. Ini juga tidak akan berfungsi dengan baik untuk formulir munculan tersuai.

Cara cepat untuk melewati variabel antara formulir menggunakan Delegasi. Anda dapat mengatur eventhandler untuk acara Penutupan dari formulir kedua, dan menangani acara dalam formulir pertama. Ini memungkinkan Anda untuk menangkap variabel sebelum jendela formulir kedua ditutup.

Untuk latihan ini, kami akan berasumsi bahwa kami memiliki dua bentuk:

MainForm

OptionsForm

Kami akan lebih jauh berasumsi bahwa kami telah mengeklik beberapa tombol yang membuka OptionsForm dengan panggilan metode Show (). Sekarang mari kita lihat keajaibannya:

……. 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;

}

Hanya itu saja.

Direkomendasikan: