C# Formu Kontrollü Kapatmak (İki Kere Sormasına Çözüm)

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.

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.

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.

Mustafa BÜKÜLMEZ
Hazırladığım ve yüklediğim tüm dersleri deneyip çalıştığını onayladıktan sonra ekliyorum. Çalışmayan kodlar deneyimli kişiler için sorun olmayabilir ama yeni başlayanlar için problemdir. Hem yazılıma gönül vermiş sevgili arkadaşlarıma yardımcı olmak hem daha sonra lazım olduğunda arama süremi kısaltmak için paylaşıyorum.. -- *Bilgi paylaştıkça çoğalır. *Bir mum diğer mumu yakmakla ışığından bir şey kaybetmez. Aksine birlikte etrafı daha çok aydınlatırız. -- Lisede Ağ sistemleri ve Yönetimi bölümü Üniversitede de Bilgisayar Programcılığı okudum. Şuanda da Kahramanmaraş'ta olan Gemciler Güven Metal Sanayi ve Ticaret A.Ş firmasında Bilgi İşlem Müdürü olarak çalışmaktayım. Yaptığım işe ek olarak yine Kahramanmaraş'ta olan 1453 Yazılım firmasının kurucu ortaklarından biriyim. ----- Kişisel Bloğum : https://csharpiledundenbugune.blogspot.com.tr/
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git