MessageBox Kullanımı ve Özellikleri

MessageBox, kullanıcıya bir mesaj sunan iletişim kutusudur. Kullanıcı pencereyi kapatana kadar uygulamadaki diğer eylemleri engelleyen kalıcı bir penceredir. MessageBox kullanıcıyı bilgilendiren ve yönlendiren metin, düğmeler ve semboller içerebilir. Özelleştirilebilen bir iletişim kanalı sunmasından dolayı MessageBox’ın kontrollerini kullanarak kişileştirilmiş mesaj kutuları oluşturabiliriz. Böylece uygulama kullanıcısını iletişim sağlamanın yanında yönlendirme işlemlerini de hızlıca gerçekleştirebiliriz.

Bir mesaj kutusu görüntülemek için, MessageBox.Show() metodunu çağırmamız gerekir. Mesaj kutusunda görüntülen Başlık, Mesaj, Düğmeler ve Simgeler ise Show() metodunun parametreleriyle berlirlenir.

MessageBox Kontrolünün Temel Kullanımı

//Sadece mesaj gösterimi.
MessageBox.Show("Mesajınız");

//Mesaj ve pencere başlığı gösterimi.
MessageBox.Show("Mesajınız", "Başlık");

      

MessageBox Kontrolünün Butonlarla Kullanımı

MessageBox, Yes-No ve OK-Cancel gibi birden fazla buton kombinasyonuna sahiptir. Buton kombinasyonları kullandığımız zaman, MessageBox’ın geri dönen sonucunu yakalamak için DialogResult değişkenine atama yapmamız gerekir. Böylece uygulamanın gelen sonuca göre hareket etmesini sağlarız. “MessageBoxButtons” class’ından faydalanırız.

  • OK
  • OKCancel
  • AbortRetryIgnore
  • YesNoCancel
  • YesNo
  • RetryCancel
//Kullanıcıya uygulamayı kapatması için Yes/No seçenekleri sunup seçilen cevaba göre 
işlem yapan kod bloğu.
DialogResult result1 = MessageBox.Show("Uygulamayı kapatmaya eminmisin?",
"Uygulama Çıkış",MessageBoxButtons.YesNo);
if (result1 == DialogResult.Yes)
{
    this.Close();
}
else
{
    //No ise yapmasını istediğiniz...
}

//Yes-No-Cancel Kullanımı
DialogResult result2 = MessageBox.Show("Mesaj", "Başlık", MessageBoxButtons.YesNoCancel);
if (result2 == DialogResult.Yes)
{

}
else if(result2 == DialogResult.No)
{

}
else if(result2 == DialogResult.Cancel)
{

}

//OK-Cancel Kullanımı
DialogResult result3 = MessageBox.Show("Mesaj", "Başlık", MessageBoxButtons.OKCancel);
if (result3 == DialogResult.OK)
{

}

//Durdur-Yeniden Dene-Yoksay Kullanımı
DialogResult result4 = MessageBox.Show("Mesaj", "Başlık", 
MessageBoxButtons.AbortRetryIgnore);
if (result4 == DialogResult.Abort)
{
    this.Close();
}
else if(result4 == DialogResult.Retry) {
                 
}  
else {
                
}

MessageBox Kontrolünün Iconlarını Değiştirme

MessageBox, iletişim kutusu bir icon ile görüntülenebilir. Bu icon MessageBox kutusun üzerinde görüntülenecek olan simgeyi temsil eder. Böylece kullanıcıyı yönlendirme işlemini daha bir interaktif bir hale dönüştürebiliriz. Alabildiği simgeler aşağıdadır. “MessageBoxIcon” class’ından faydalanırız.

  • None
  • Hand
  • Question
  • Exclamation
  • Asterisk
  • Stop
  • Error
  • Warning
  • Information
//Dikkat İşareti iconu ile gösterimi.
DialogResult result = MessageBox.Show("Uygulamayı kapatmaya eminmisiniz.", "Uygulama Kapat", 
MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Abort)
{
    this.Close();
}
else if(result == DialogResult.Retry) {
 
}  
else {
 
}

//Soru İşareti iconu ile gösterimi.
DialogResult result1 = MessageBox.Show("Uygulamayı kapatmaya eminmisiniz.", "Uygulama Kapat", MessageBoxButtons.YesNo, 
MessageBoxIcon.Question);

Message Box Kontrolünün Default Butonu Belirleme

//Yes-No Butonlarından default değeri Button2 olarak ayarladım yani Hayır buton seçili olarak gelecektir.
DialogResult result1 = MessageBox.Show("Uygulamayı kapatmaya eminmisiniz.", "Uygulama Kapat", MessageBoxButtons.YesNo, 
MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

Message Box Kontrolünün Butonlarını ve Textlerini Hızalama

MesageBox’ı aşağıda ki seçenekleri kullanarak hizalayabiliriz.

  • ServiceNotification
  • DefaultDesktopOnly
  • RightAlign
  • RtlReading
DialogResult result1 = MessageBox.Show("Uygulamayı kapatmaya eminmisiniz.", "Uygulama Kapat", 
MessageBoxButtons.YesNo, MessageBoxIcon.Question, 
MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading);

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir