Merhaba arkadaşlar, bu makalemde ayrıntılı olarak MessageBox fonksiyonunu işleyeceğim.
MessageBox, kullanıcılara uyarı vermek veya kullanıcıdan bir işlemin yapılıp yapılmayacağının onayını
almak için kullandığız bir fonksiyondur.
MessageBox'ın Kullanımı;
MessageBox fonksiyonun alabileceği toplam 7 adet parametre vardır biz sadece 5 tanesini
kullanacağız ama onlarında ne olduğuna değinmeden geçmeyeceğim.
Bizi çok fazla da ilgilendirmeyen (burayı hiç okumadan diğer paragraftan devam edebilirsiniz
:) ) ilk parametremiz: IWin32Window parametresidir. Bu parametre ile MessageBox
penceremizin görünümünü klasik Windows pencereleri şeklinde göstermemizi
sağlıyor diyebilirim. Ama tek başına kullanılmıyor IWin32Window nesne = null; olarak
belirlememiz ve daha sonra MessageBox'ın en son parametresi olan MessageBoxOptions
ile de pencerenin şeklini belirleyebiliyoruz. Bu parametrenin alabileceği 4 adet değer var
ama bunlarda istersek kullanacağımız RtlReading değeridir. Bu değer MessageBox'daki
ikonun sağ tarafta gösterilmesini sağlayabiliyoruz.
Çok fazla kafanızı karıştırmak istemiyorum. Benimde kafam karışıyor gerçekten.
Şimdi MessageBox'ın en sık kullanacağımız fonksiyonlarına geçelim.
MessageBox'ın en basit kullanım şekli aşağıdaki gibidir. Bu kullanım şeklinde kullanıcıya sadece
Mesaj İçeriği'ni gösteriyoruz:
MessageBox.Show("Mesaj içeriği");
Bundan sonraki kullanımlarında yavaş yavaş kullanıcılara daha ayrıntılı bir pencere sunabileceğiz.
Bu kullanımda kullanıcıya hem Mesaj İçeri'ğini gösterebileceğiz hem de pencere
başlığına bir Başlık yazabileceğiz:
MessageBox.Show("Mesaj içeriği", "Başlık");
Gelelim üçüncü kullanım şeklimize MessageBox pencereleri sadece mesaj vermek için
kullanılmıyor. Ayrıca mesaj sonucunda da kullanıcıya işlem yaptırabiliyoruz. Aşağıdaki
kullanım şekliyle kullanıcıya gösterdiğimiz pencerede MessageBox fonksiyonunun standart
Tamam butonunun dışına çıkarak Tamam ve İptal butonlarını kullanabileceğiz:
MessageBox.Show("Mesaj içeriği", "Başlık", MessageBoxButtons.OKCancel);
MessageBoxButtons ile sadece Tamam ve İptal butonları değil ayrıca aşağıdaki butonları da
kullanabiliriz:
MessageBoxButtons.AbortRetryIgnore: Bu komut pencerede Durdur, Yeniden Dene,
Yoksay butonlarını göstermemizi sağlar.
MessageBoxButtons.OK: Bu komut pencerede Tamam butonunu göstermemizi sağlar.
MessageBoxButtons.OKCancel: Bu komut pencerede Tamam ve İptal butonlarını
göstermemizi sağlar.
MessageBoxButtons.RetryCancel: Bu komut pencerede Yeniden Dene ve İptal butonlarını
göstermemizi sağlar.
MessageBoxButtons.YesNo: Bu komut pencerede Evet ve Hayır butonlarını göstermemizi sağlar.
MessageBoxButtons.YesNoCancel: Bu komut pencerede Evet, Hayır ve İptal butonlarını
göstermemizi sağlar.
Gördüğümüz gibi MessageBox fonksiyonumuz giderek renkli bir görünüm alıyor.
Bu kullanım şeklinde de MessageBox'ımıza bir ikon resmi koyabiliyoruz:
MessageBox.Show("Mesaj içeriği", "Başlık", MessageBoxButtons.OKCancel,
MessageBoxIcon.Information);
Yukarıdaki örnek ile kullanıcıya bilgi ikonunun olduğu bir pencere gösteriyoruz. Ayrıya
bu parametrede sadece bilgi ikonu ile sınırlı değil;
MessageBoxIcon.Asterisk: Bu komut pencerede genellikle bilgi mesajı vermede
kullanılan "i" ikonunu göstermemizi sağlar.
MessageBoxIcon.Error: Bu komut pencerede genellikle hata mesajı vermede kullanılan
kırmızı "X" ikonunu göstermemizi sağlar.
MessageBoxIcon.Exclamation: Bu komut pencerede genellikle hata mesajı vermede
kullanılan sarı "!" ikonunu göstermemizi sağlar.
MessageBoxIcon.Hand: Bu komutta Error komutu ile aynı işlevdedir.
MessageBoxIcon.Information: Bu komutta Asterisk komutu ile aynı işlevdedir.
MessageBoxIcon.None: Bu komut ile herhangi bir ikon gösterilmez.
MessageBoxIcon.Question: Bu komut pencerede genellikle soru sorma işlemlerinde
kullanılan "?" ikonunu göstermemizi sağlar.
MessageBoxIcon.Stop: Bu komutta Error komutu ile aynı işlevdedir.
MessageBoxIcon.Warning: Bu komut Exclamation komutu ile aynı işlevdedir.
Evet gelelim en son parametremize bu parametrede eklediğimiz butonlardan
hangisinin aktif olacağını seçebileceğimiz 3 adet seçenek var. Button1, Button2 ve Button3:
MessageBox.Show("Mesaj içeriği", "Başlık", MessageBoxButtons.OKCancel,
MessageBoxIcon.Information, MessageBoxDefaultButton.Button2);
Yukarıda gösterdiğim kullanımda kullanıcıya gösterilen pencerede İptal butonu aktif olacaktır.
MessageBoxDefaultButton.Button1: Bu komut penceredeki butonlardan ilkini aktif eder.
MessageBoxDefaultButton.Button2: Bu komut penceredeki butonlardan ikincisini aktif eder.
MessageBoxDefaultButton.Button3: Bu komut penceredeki butonlardan üçüncüsünü aktif eder.
Aktif derken pencere gösterildiğinde seçili butondur.
Şimdi örnek uygulamalarımıza geçerek MessageBox fonksiyonumuzun biraz işe yaradığını görelim:
Uygulama 1: Bu en basit MessageBox uygulamamızdır. Neden en basit olduğunu daha sonraki
uygulamaları görünce anlayacaksınız.
MessageBox.Show("MessageBox kullanımında son nokta", "MessageBox Başlığıdır",
MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Information,
MessageBoxDefaultButton.Button3);
Uygulama 2: Şimdi kullanıcıya Tamam ve İptal butonlarını gösteriyoruz ama ben
kullanıcının neye tıkladığını nerden bileceğim diyorsanız bu uygulamada bunu nasıl
yapabileceğimizi göreceğiz.
Uygulamamızda kullanıcıya hata yaptığına dair bir mesaj verelim ve mesaj sonucunda
kullanıcı eğer Tamam butonuna tıklayınca "İşleminiz gerçekleşdi", İptal butonuna tıklayınca
"İşleminiz iptal edildi" diye uyarı veren bir uygulama yapalım:
if (MessageBox.Show("İşleminiz yapılırken hata oluştu.", "Hata Yaptınız",
MessageBoxButtons.OKCancel) == DialogResult.OK)
{
MessageBox.Show("İşleminiz gerçekteşti");
}
else
{
MessageBox.Show("İşleminiz iptal edildi");
}