Program yazarken kullanıcıya bilgi, uyarı ya da hata mesajları vermek isteyebiliriz. VereceÄŸimiz mesajın ayrı bir pencerede açılmasını istiyorsak MessageBox komutu kullanılır. Bu dersimde messagebox komutunu anlatmaya çalışacağım.
Mesaj penceresinin kullanım yapısı aşağıdaki gibidir.
MessageBox.Show("mesajımız", "pencere başlığı", Butonlar, Resim);
Yukarıdaki komutu açıklayacak olursak; Kaynak: www.mustafakarsli.com
mesajımız: yazan yere tırnak içinde kullanıcıya vermek istediÄŸimiz mesajı yazıyoruz.
Pencere baÅŸlığı: yazan yere tırnak içinde mesaj penceremizin baÅŸlığına yazmak istediÄŸimiz metni yazıyoruz.
Butonlar: yazan yere ise pencere baÅŸlığında hangi butonların olmasını istiyorsak onları yazıyoruz. Butonları kafamıza göre deÄŸil aÅŸağıdaki komuta göre yazıyoruz.
MessageBoxButtons yazdıktan sonra noktaya bastığımızda ekleyebileceÄŸimiz butonların listesi gelecektir. Bu listeden istediÄŸimiz butonu seçiyoruz. AÅŸağıdaki listeye bakacak olursak;

AbortRetryIgnore: Durdur, Yeniden Dene ve Yoksay Butonları eklemek için kullanılır.
OK: Tamam butonu eklemek için.
OKCancel: Tamam ve İptal butonlarını eklemek için.
RetryCancel: Yeniden Dene ve İptal butonları eklemek için.
YesNo: Evet ve Hayır butonları eklemek için.
YesNoCancel: Evet, Hayır ve İptal butonları eklemek için kullanılır.
Resim: yazan yere mesaj penceresinde dahili küçük resim göstermek istiyorsak onu yazıyoruz. Resimleri kafamıza göre ekleyemiyoruz. AÅŸağıdaki komuta bakacak olursak;
MessageBoxIcon yazdıktan sonra noktaya bastığımızda ekleyebileceÄŸimiz resimlerin listesi gelecektir. Bu listeden istediÄŸimiz resmi seçiyoruz. AÅŸağıdaki listeye bakacak olursak;

1- Asterisk
2- Error
3- Exclamation
4- Hand
5- Information
6- None
7- Question
8- Stop
9- Warning
Yukarıdaki listedeki ikonların resimlerini aÅŸağıda görebilirsiniz. Rakamlar listedeki ikonun resmidir. 6 numaralı resim yoktur. None resimsiz anlamındadır. Yani pencerede resim olmaz.

Örnek bir komut yazacak olursak;
MessageBox.Show("Merhaba", "Örnek 1", MessageBoxButtons.OK, MessageBoxIcon.Information);
Yukarıdaki komutun ekran görüntüsü aÅŸağıdaki gibi olacaktır.
Message box ile mesaj verirken yukarıdaki parametrelerin hepsini kullanmak zorunda değiliz. Yani mesaj penceresinde sadece mesaj verip, başlık yazmadan, buton belirlemeden, resim belirlemeden komutu sonlandırabilirsiniz.
MessageBox.Show("Merhaba");
gibi. Mesaj penceresinde sadece merhaba yazar ve varsayılan buton olarak tamam butonu görünür.
MessageBox.Show ile Değişken Yazdırma:
Mesaj penceresinde yazı olarak istediğimizi yazdırabiliriz. Peki herhangi bir değişkendeki değeri yazdıracak olursak dikkat etmemiz gereken bazı noktalar var:
-
sadece deÄŸiÅŸkeni yazdıracaksak yani ayrıca mesaj vermeyeceksek tırnak olmadan deÄŸiÅŸken adını yazarız. DeÄŸiÅŸken yazılırken deÄŸiÅŸkenin string türünde olması gerekir. AÅŸağıda deger isimli deÄŸiÅŸkeni mesaj penceresinde yazdırmak istediÄŸimizi varsayıp sayısal ve string türüne göre yazdırma örneklerini görebilirsiniz.
-
string deger = "Merhaba";
MessageBox.Show(deger);
deger string oldugu için direk yazdırıyoruz. Mesaj penceresinde Merhaba yazar.
-
int deger = 2013;
MessageBox.Show(deger.ToString());
deger int (sayısal) olduÄŸu için messageboxta degeri stringe dönüÅŸtürerek yazdırdık. Mesaj penceresinde 2013 yazar.
-
Mesaj penceresinde hem değişken hem de metin yazdıracaksak aralarına + konularak yazılırlar.
string ad="mustafa";
MessageBox.Show("merhaba "+ad+" ne haber");
yazarsak mesaj penceresinde merhaba mustafa ne haber yazar. Tırnak içindeki mesaj ile deÄŸiÅŸken aralarına + konulur.
MessageBox Buton Kontrolü:
Mesaj penceresinde soru sordunuz diyelim ve kullanıcının tıklamasına göre iÅŸlem yaptıracaksınız. Örnek olarak Evet Hayır butonu bulunan mesaj penceresinin evet butonuna tıklanınca evete basıldı, hayır butonuna basılınca hayır butonuna basıldı yazdıralım.
if(MessageBox.Show("Buton Kontrolü yapıyoruz",MessageBoxButtons.YesNo)==DialogResult.Yes)
{
MessageBox.Show("Evete basıldı");
}
else
{
MessageBox.Show("Hayıra basıldı");
}
Yukarıdaki örnek buton1'in click olayına yazılmıştır. Örnekte evet hayır butonlu mesaj penceresini if ile karşılaÅŸtırıyoruz. DialogResult ile buton karşılaÅŸtırması yapıyoruz. DialogResult yazıp noktaya bastığımızda iÅŸlem yapacağımız parametreler listelenecektir buradan hangi buton karşılaÅŸtırılacaksa onu seçip if yapısına göre yaptırılacak komutları yazıyoruz.
Yukarıda yaptığımız örnekte mesaj penceresinin evet butonuna basıldı mı diye bakılıyor. Evete basıldıysa Evete basıldı yazıyor. Aksi durumda Hayıra basıldı yazıyor.
MessageBox ile ilgili örnekler çoÄŸaltılabilir. GörüÅŸ bildirmek isterseniz yorum yazabilirsiniz. İlerleyen günlerde tekrar görüÅŸmek üzere saÄŸlıcakla kalınız...
Mustafa KARSLI Kaynak: www.mustafakarsli.com