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;
|
1
|
DialogResult cikis =
new DialogResult();
|
Daha sonra MessageBox ile soru sorarak NESNE ile
ilişkilendiriyoruz;
|
1
|
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;
|
1
2
3
4
|
if (cikis ==
DialogResult.Yes)
{
Application.Exit();
}
|
Hemen Hayır “NO” butonuna tıklanılması durumunda yapılacak işlemleri
yazalım;
|
1
2
3
4
|
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
programApplication.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 EVETbutonuna 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;
|
1
2
3
|
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.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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;
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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..
Yorumlar
Yorum Gönder