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;">
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.
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.
Diğer makalelerimi okuduysanız yorum yapmayı unutmayın. Bu makaleyi okuduğunuz için Teşekkürler.