C# Formu Kontrollü Kapatmak (İki Kere Sormasına Çözüm)
Bu dersimizde C# Formu Kontrollü Kapatma işlemini göreceğiz
Selamlar,
Bu dersimizde C# kontrollü form kapatma işlemlerini göreceğiz. Peki bu ne işimize yarayacak??
Bu işlemi yapmaktaki amacım o anda sistemde kaç kişi açık? Kaç kullanıcı programı kullanıyor? X kullanıcısı kaç saattir sistemde? gibi soruların yanıtını bulmaktır.
Normal şartlarda bu şekilde bir kod işimizi görecektir.
C#
if (MessageBox.Show("Çıkmak istediğinize emin misiniz?", "Onay", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
// sorularımıza yanıtları bu kısımda alıyoruz
Application.Exit();
}
else
{
e.Cancel = true;
}
Ancak sebebibi çözemediğim şekilde formu programı kapatırken iki kere soruyor. Aslında çözmek içinde çok uğraşmadım. Başka bir yöntem denedim. O yöntem biraz daha uzun ancak çok fazla zaman kaybetmemek için uzun yolu yazdım. Daha sonra ona da düzenleriz.
Hemen asıl kodlarımızı verelim.
C#
private bool Kapatsorgu;
DialogResult dr = DialogResult.No;
private void Menu_FormClosing(object sender, FormClosingEventArgs e)
{
if (!Kapatsorgu) // ! False ise
{
dr = MessageBox.Show("Çıkmak istediğinize emin misiniz?", "Onay", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
Kapatsorgu = dr == DialogResult.Yes;
}
if (dr == DialogResult.Yes)
{
if (Kapatsorgu) // True ise
{
//sorularımızın cevaplarını aldığımız yer.
Application.Exit();
}
Kapatsorgu = false;
}
else
{
e.Cancel = true;
}
}
Bu kadar arkadaşlar.
Bu şekilde aynı soruyu iki kere sormuyor.
Bu dersimizde bu kadar arkadaşlar.
Bol Kodlu Günler.
https://mustafabukulmez.com/
https://mustafabukulmez.com/
0 Yorum: