"Enter"a basıp içeriğe geçin

DialogResult c# Kullanımı Örnekleri

Bir otomasyon programı kullandığınızı varsayalım. Bu programda istediğiniz değişiklikleri yaparken yanlışlıkla çıkış butonuna basıp size hiçbir uyarı vermeden kapandığını ve yaptığınız değişikliklerin kayıt edilmediğini düşünün. Bu programda büyük bir açık olmuş olur ve bununla beraber müşteri kaybetmiş olursunuz.

DialogResult bize herhangi bir durumda programın önüne (ShowDialog açar gibi) bir uyarı mesajından sonucu verir. Örneğin bir Word dokümanını değiştirdikten sonra programı kapatmaya çalıştığınızda “Yaptığınız değişiklikleri kaydetmek istiyor musunuz?” gibi bir soru soruyor. “Evet” denildiğinde değişiklikler kaydediliyor, “Hayır” denildiğinde kaydedilmiyor. İşte burada DialogResult devreye giriyor.

Dönüş değeri bir iletişim kutusu göstermek için tanımlayıcıları belirler.(dialogresult c#)

NOT    : DialogResult TOOLBOX da bulunmaz. Kullanmak istenildiğinde ilgili butonun CLICK özelliğine yazılır.

 

ÖRNEK 1         :

 

Çıkış butonuna tıklanıldığında “Çıkış yapmak istiyor musunuz ?” şeklinde bir uyarı vermesini istiyoruz. Uyarı verdikten sonra EVET butonuna tıklanıldığında Program kapanacak, HAYIR butonuna tıklanıldığında ise program olduğu halde kalıp uyarı penceresi kapanacaktır.

İlk olarak DialogResult ile NESNE oluşturalım;

DialogResult cikis = new DialogResult();

 

 

Daha sonra MessageBox ile soru sorarak NESNE ile ilişkilendiriyoruz;

 

cikis = MessageBox.Show("Devam etmek istiyormusunuz ?", "Uyarı", MessageBoxButtons.YesNo);

 

 

Bu uyarının ardından Evet “YES” butonuna tıklanıldığında yapılacak işlemleri IF ile şart koşarak tamamlıyoruz;

if (cikis == DialogResult.Yes)
                {
                    Application.Exit();
                }

 

Hemen Hayır “NO” butonuna tıklanılması durumunda yapılacak işlemleri yazalım;

if (cikis == DialogResult.No)
                {
                    MessageBox.Show("Program kapatılmadı.");
                }

 

Örnekte Nesne oluşturduk ardından MessageBox ile ekrana uyarı verdik. Eğer programı kapatmak için EVET butonuna tıklanırsa program Application.Exit(); ile programla ilgili olan her şeyi kapatıyor. Ancak HAYIR butonuna tıklanıldığında sadece ekrana program kapatılmadı şeklinde yazı gelecek.

DialogResult ile ilgili kullanılabilecekler:

MessageBoxButtons   :           Evet, Hayır, OK, Tamam, Yoksay, Vazgeç gibi butonları ekler.

MessageBoxIcon        :           Bilgi, Dikkat, Soru ve Uyarı gibi simgeleri belirler.

 

ÖRNEK 2         :

 

Çıkış butonundan değil de formun sağ üstündeki kırmızı çarpıdan kapatılması durumunda uyarı vermesini istiyoruz. Uyarı verdikten sonra EVET butonuna tıklanıldığında Program kapanacak, HAYIR butonuna tıklanıldığında ise program olduğu halde kalıp uyarı penceresi kapanacaktır.

Bunun için FORM EVENT kullanmamız gerek. Formumuzda boş bir kısıma tıklayarak Design kısmında properties penceremizin üst seçenekler kısmında ( Özellikleri Kategori ve A-Z ye sıralama kısmı) Events (Şimşek şeklindeki simgesi) tıklıyoruz. Burada formumuzun olayları açılıyor.

Bu kısımda formumuzun kırmızı çarpıdan kapatılma olayını düzenleyip ona şart koyacağız. Böylece kullanıcı programda yapılan değişiklikleri kaydetmeyi unutsa bile uyarı mesajı gelecek.

Events kısmından FormClosing olayını bulup çift tık yapıyoruz. Çift tık yapmamızla beraber bizi kod ortamına atması gerekiyor. Ayrıca formun kod ortamına;

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
        }

Şeklinde kod eklemesi gerekiyor. Kırlangıçları içine girilecek olan herhangi bir kod, programı kapatmak için kırmızı çapıya basıldığında gözükecek.

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            DialogResult cikis = new DialogResult();
            cikis = MessageBox.Show("Devam etmek istiyormusunuz ?", "Uyarı", MessageBoxButtons.YesNo);
            if (cikis == DialogResult.Yes)
                {
                    Application.Exit();
                }
            if (cikis == DialogResult.No)
                {
                    MessageBox.Show("Program kapatılmadı.");
                }
          }

 

 

 

ÖRNEK 3         :

 

textBox’a yazılan bir şey varsa program “kaydetmeden çıkmak istediğinize emin misiniz?” şeklinde soru soracak, Eğer EVET denilirse program kapanacak. HAYIR denildiğinde program kapanmayacak. Ama textBox boş ise program soru sormadan kapanacak.

Öncelikle formumuza

  • 1 Button
  • 1 textBox

ekliyoruz.

Button1 ‘in kodları aşağıdaki gibi olacak;

private void button1_Click(object sender, EventArgs e)
        {
            if (textBox.Text == "")
            {
                Application.Exit();
            }
            else
            {
                DialogResult cikis = new DialogResult();
                cikis = MessageBox.Show("Kaydetmeden çıkmak istediğinize emin misiniz?", "Emin Misiniz?", MessageBoxButtons.YesNo);
                if (asd == DialogResult.Yes)
                {
                    Application.Exit();
                }

 

  • Button1 e tıklanıldığında textBox’da yazı yoksa program direk kapanıyor.
  • Button1 e tıklanıldığında textBox’da yazı varsa program uyarı veriyor.

 

Okuduğunuz için teşekkürler..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.