1. Anasayfa
  2. Genel

C# Mesaj Penceresi [MessageBox] Kullanımı

C# Mesaj Penceresi [MessageBox] Kullanımı
0

  C# form uygulamalarında mesaj penceresi (MessageBox), kullanıcı çeşitli işlemler yaparken bazı önemli durumlar meydana geldiğinde, uyarı, bilgilendirme ve hata mesajları göstermek için açılan, yardımcı pencerelerdir. Ayrıca kullanıcının bu pencere üzerindeki seçimine bağlı olarak farklı kod bloklarının çalışmasını da sağlayabiliriz. Konuya en iyi örnek, Office uygulamalarında Kapat butonuna tıklandığında açılan aşağıdaki pencere olacaktır.

Tüm mesaj bildirim işlemleri için MessageBox.Show(“BURAYA MESAJ METNİ”); metodu kullanılmaktadır. Bu metodun birçok parametresi bulunmakta ve bu durum esnek bir kullanım sağlamaktadır.
Basit Bir Bildirim Penceresi Oluşturmak
En basit haliyle bir mesaj penceresi başlık ve kullanıcıya sunulacak bir mesajdan oluşur.  Metodun 1.parametresi mesajı2.parametresi başlığı gösterir.

MessageBox.Show("Kayıt İşlemi Tamamlandı!", "Bilgilendirme Penceresi");

Kod çalıştırıldığında aşağıdaki gibi başlık ve mesajı içeren bir pencere gösterilir. Tamam butonuna tıklandığında pencere kapanır.

Pencere Düğmelerini Belirlemek
Yukarıdaki örnekten farklı olarak mesaj penceremize Tamam butonu yerine, gerektiği yerlerde farklı seçimler yapabileceğimiz düğmeler ekleyebiliriz. Bu durumda metodumuzun 3.parametresi olan düğme seçeneklerini, aşağıdaki gibi kodumuza ekliyoruz.

MessageBox.Show("Değişiklikleri kaydetmek istiyor musunuz?", "Bilgilendirme Penceresi",MessageBoxButtons.YesNoCancel);<span style="font-family: Consolas, Monaco, monospace;">

 

Evet-Hayır-İptal seçenekleri yerine farklı düğme alternatifleri kullanmak isterseniz aşağıdaki tabloyu inceleyiniz.
MessageBoxButtons Gösterilecek Seçenekler
AbortRetryIgnore İptal-Yeniden Dene-Yoksay
OK Tamam
OKCancel Tamam-İptal
RetryCancel Yeniden Dene-İptal
YesNo Evet-Hayır
YesNoCancel Evet-Hayır-İptal

Pencereye İkon Eklemek
Gösterdiğimiz mesajın konusuna uygun olarak bir icon seçimi yapmak, mesajlarımızın daha profesyonel görünmesini sağlayacaktır. Show() metodumuzun 4.parametresi icon seçimi yapmak için kullanılmaktadır.

MessageBox.Show("Değişiklikleri kaydetmek istiyor musunuz?", "Bilgilendirme Penceresi",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Information);


Örnekte oluşan soldaki küçük resim bilgilendirme (information) anlamı taşımaktadır. Farklı ikonlar kullanmak isterseniz, aşağıdaki tablodan yararlanabilirsiniz.

Jivo Chat Reklam
MessageBoxIcon
Asterisk Error Exclamation Hand Information Question Stop Warning

Basılan Düğmeye Göre Çalıştırılacak Kod Bloklarını Belirlemek

Bazen kullanıcının yaptığı seçime bağlı olarak bazı kodların çalıştırılması istenebilir. Örneğin kullanıcı Kaydet butonuna tıkladığında mesaj penceresi açılır, eğer kullanıcı Evet seçeneğini seçerse kayıt veritabanına eklenir gibi. Farklı düğme seçeneklerine göre işlemler yaptırmak için DialogResult özelliğini kullanacağız.

DialogResult secenek= MessageBox.Show("Kaydı veritabanına kaydetmek istiyor musunuz?", "Bilgilendirme Penceresi",MessageBoxButtons.YesNo,MessageBoxIcon.Information);
if (secenek == DialogResult.Yes)
{
//Veritabanına kayıt ekleyen kodlar
}
else if(secenek==DialogResult.No)
{
//Hayır seçeneğine tıklandığında çalıştırılacak kodlar
}

Hayır seçeneğine tıklandığında özel bir kod çalıştırmak istemezseniz else-if bloğunu kullanmak zorunda değilsiniz. Sadece üsteki if bloğu işimizi görecektir. DialogResult’ı sadece Evet-Hayır değil, farklı seçimlere göre de işlem yapacak şekilde ayarlayabilirsiniz.

MessageBox kullanımıyla ilgili gereksiz detaylara girmeden en önemli kısımlara değinmek istedim, konuyla ilgili sorularınızı bana iletebilirsiniz.
Diğer makalelerimi okuduysanız yorum yapmayı unutmayın. Bu makaleyi okuduğunuz için Teşekkürler.

Bu Yazıya Tepkiniz Ne Oldu?
  • 0
    be_endim
    Beğendim
  • 0
    alk_l_yorum
    Alkışlıyorum
  • 0
    e_lendim
    Eğlendim
  • 0
    d_nceliyim
    Düşünceliyim
  • 0
    _rendim
    İğrendim
  • 0
    _z_ld_m
    Üzüldüm
  • 0
    _ok_k_zd_m
    Çok Kızdım

Yazılım hakkında bildiklerini anlatan sıradan biri.

Yazarın Profili
Paylaş
İlginizi Çekebilir

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir