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 ve ERP, MRP, CRM ve kişiye özel uygulamalar uygun fiyatlarla hazırlanır. Fİyat için mesaj atabilirsiniz. -- 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