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