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.
Word Programı Kapat Butonu Mesaj Penceresi
Tüm mesaj bildirim işlemleri için MessageBox.Show() 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.
Word Programı Kapat Butonu Mesaj Penceresi
Tüm mesaj bildirim işlemleri için MessageBox.Show() 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.
1 | 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.
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.
1 | MessageBox.Show("Değişiklikleri kaydetmek istiyor musunuz?", "Bilgilendirme Penceresi",MessageBoxButtons.YesNoCancel); |
Evet-Hayır-İptal Düğme Seçenekleri
Evet-Hayır-İptal seçenekleri yerine farklı düğme alternatifleri kullanmak isterseniz aşağıdaki tabloyu inceleyiniz.
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 Icon 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.
1 | MessageBox.Show("Değişiklikleri kaydetmek istiyor musunuz?", "Bilgilendirme Penceresi",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Information); |
Pencere Bilgi Iconu
Örnekte oluşan soldaki küçük resim bilgilendirme (information) anlamı taşımaktadır. Farklı ikonlar kullanmak isterseniz, aşağıdaki tablodan yararlanabilirsiniz.
Ö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.
Code:
DialogResult secenek= MessageBox.Show("Kaydı veritabanına kaydetmek istiyor musunuz?", "Bilgilendirme Penceresi",MessageBoxButtons.YesNo,MessageBoxIcon.Information);[/COLOR][/CENTER]
[COLOR=rgb(184, 49, 47)][CENTER]
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.
MessageBox kullanımıyla ilgili gereksiz detaylara girmeden en önemli kısımlara değinmek istedim, konuyla ilgili sorularınızı bana iletebilirsiniz.