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
Web sitesi, ERP, MRP, CRM ve kişiye özel uygulamalar hazırlanır. -- Deneyip çalıştığını onaylamadan çok nadir ders eklerim. Denemediklerim ise eski makalelerimdendir. Hem bildiklerimi paylaşmak hemde her seferinde aramamak için yayınlıyorum. -- *Bilgi paylaştıkça çoğalır. *Bir mum diğer mumu yakmakla ışığından bir şey kaybetmez. Aksine Daha çok ışık yayar. -- 1992 İstanbul doğumluyum. Kahramanmaraş'ta yaşıyorum. Lise: Ağ sistemleri ve Yönetimi, Üniversite: Bilgisayar Programcılığı.. -- 07.2014 tarihinden beri bir firmada Bilgi İşlem Müdürü olarak çalışmaktayım. -- Kişisel Bloğum : https://csharpiledundenbugune.blogspot.com.tr/
Yorum Yaz

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

Yukarı Git