İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# MessageBox İşinize Yarayacak Tüm Özellikleri

C# MessageBox İşinize Yarayacak Tüm Özellikleri
+ - 5

C# MessageBox İşinize Yarayacak Tüm Özellikleri yazım ile karşınızdayım. Yazılıma başladığımız zamanlardan beri MessageBox‘u hep kullanırız. Tabi yeteneklerimiz geliştikçe ve profesyonel programlar hazırlamaya başladıkça öyle kuru kuru MessageBox göstermek olmuyor. Örnek kullanım şekilleri ile  birlikte başlığı, ikonları, tipleri ve butonlar gibi diğer özelliklerini anlatmaya çalışacağım. Bu yazımda işte bu konulara değineceğim. En çok kullanacağız özellikleri sırayla anlatacağım.

C# hakkındaki diğer yazılarımı da görmek isterseniz tıklayınız.

MessageBox Özellikleri

MessageBox C# ‘da adından da anlaşılacağı gibi isteğimiz doğrultusunda ekrana mesaj kutusu çıkarmaya yarar ve sıkça kullanırız. Lakin çeşitli kullanım şekilleri vardır. Şimdi o şekilleri beraber inceleyelim.

Sadece Mesaj

MessageBox.Show("merhaba");

MessageBox’ın en basit kullanım şeklidir. Bir kutunun içerisinde sadece yazı vardır. MessageBox’un başlığı da yok. Varsayılan olarak Tamam butonu vardır. İlk parametre her zaman mesaj kutusu içerisine yazılacak metindir. Örneği aşağıdaki gibidir.

c# messagebox kullanımı

Mesaj ve Başlık

MessageBox.Show("merhaba", "Selamlama");

İlk parametre her zaman mesaj kutusu içerisine yazılacak metindir. İkinci parametre ise mesaj kutusuna başlık olarak eklenir. Örneği aşağıdaki gibidir.

c# messagebox veri girişi

 

Mesaj, Başlık ve Butonlar

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.AbortRetryIgnore);

Eklenen son parametrede mesaj kutusu butonları yer alır. Bunlar arasında da;

AbortRetryIgnore – Durdur, Yeniden Dene, Yoksay
OK – Tamam
OKCancel – Tamam, İptal
RetryCancel – Yeniden Dene, İptal
YesNo – Evet, Hayır
YesNoCancel –  Evet, Hayır, İptal

Şeklinde 6 farklı şekilde buton seti gösterebilirsiniz. MessageBox’u kullandığınız yere ve amaca göre siz seçersiniz. Yukarıdaki kalın olarak işaretlediğim komutları yukarıdaki örnek kullanım kodunda görünen 3. parametresinde MessageBoxButtons.* kısmına yazmanız gerekmektedir. Aşağı doğru diğerlerini de göreceksiniz. Örnek bir görsel aşağıdadır.

c# messagebox özellikleri

Mesaj, Başlık, Butonlar, Simge ve Uyarı Sesi

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.OK,MessageBoxIcon.Error);
// çarpı

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.YesNo,MessageBoxIcon.Information);
// i harfi

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.OKCancel,MessageBoxIcon.Exclamation);
// ünlem

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.RetryCancel,MessageBoxIcon.Hand);
// çarpı

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.YesNoCancel,MessageBoxIcon.None);
// boş

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);
// soru işareti

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.YesNoCancel,MessageBoxIcon.Stop);
// çarpı

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.YesNoCancel,MessageBoxIcon.Warning);
// ünlem

MessageBox.Show("merhaba", "Selamlama", MessageBoxButtons.AbortRetryIgnore,MessageBoxIcon.Asterisk);
// i harfi 

Bazılarının simgesi aynı çıkıyor. Nedenini bende tam olarak bilmiyorum. Seçtiğiniz ikona göre uyarı sesleri farklı çıkıyor.

Hadi bir kaç örnek yapalım

Şimdi birkaç MessageBox ile örnek yapalım. Bunları genelde if şartları içerisinde kullanırız. MessageBox’u bilgi mesaj vermek, onay almak yada o anki duruma göre farklı işlemler yaptırabilmek için kullanırız. Tabi her yiğidin yoğurt yiyişi farklı olur derler. Bu sebeple farklı farklı kullanım şekilleri vardır. Duruma göre kendinize has bir kullanım şekli geliştirirsiniz. Zaten kendi yöntemlerinizi  geliştirmeye başladığınızda bu işi öğrenmeye başlamışsınız demektir.

İşin aslında temel bir kullanım şekli var ancak ben o yöntemi hiç kullanmadım. Bu sebeple o yöntemi es geçiyorum.

İf ile MessageBox Kullanımı

if (Messagebox.Show("Kaydı onaylıyormusunuz?", "Onay Verin", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
     // MessageBox butonları geriye DialogResult değeri döndürür.
     // MessageBoxtaki Evet'e tıklarsa buradaki kodlar çalışır.
     // kayıt işlemleri kod bloğu
     // DialogResult.Yes kullanabilmek için butonları MessageBoxButtons.YesNo olarak ayarlıyoruz.
     // MessageBoxButtons.OKCancel yapsaydık  DialogResult.OK dememiz gerekirdi.
}
Else
{
        MessageBox.Show("Kayıt işlemi tarafınızca iptal edilmiştir.", "Kayıt İptal", MessageBoxButtons.Ok,MessageBoxIcon.Information);
     // Hayır dediğimiz için bu alana girdi ve bir bilgi mesajı gösterdik.
     // MessageBoxButtons.OK eklemeden MessageBoxIcon.Information ekleyemiyoruz. yani önce buton sonra ikon
}

Bilgi: MessageBox’ lar geri dönüş değeri olarak DialogResult tipi gönderir. 

Örneğe bakacak olursak, Bunu genelde kaydetme, güncelleme gibi işlemlerden önce onay almak için kullanırız. Eğer açılan mesaj kutusunda kullanıcı “Evet” derse kayıt işlemi yapılır “Hayır” derse işlem yapılmaz. Eğer ki biz bunu if’in içerisinde bu şekilde yazmazsak mesaj kutusu yine görünür ama “Hayır” dese bile kayıt işlemi yapılır.

MessageBox’lar dialogresult verir dedik. DialogResult diyalog cevabı anlamına gelir. Bizde bu sayede kullanıcının hangi butona bastığını yakalar ve ona göre işlem yaparız. DialogResult tipleri ile bir form kullarak kendinize özel mesaj kutuları bile yapabilirsiniz.

 

Switch Case ile MessageBox Kullanımı

Yukarıdaki örnekte olduğu gibi if içerisinde de kullanabilirsiniz, switch case içerisinde de kullanabilirsiniz.

switch (MessageBox.Show("Merhaba", "Selamlama", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Information))
    {
        case DialogResult.Abort:
        // Abort butonuna basıldığında yapılacak işlemler
        break;
        case DialogResult.Retry:
        // Retry butonuna basıldığında yapılacak işlemler
        break;
        case DialogResult.Ignore:
        // Ignore butonuna basıldığında yapılacak işlemler
        break;
    }

Bu kullanım şeklini her yerde göremezsiniz. Bu kullanım şekli tecrübe ile sabittir. Bu kullanımın amacı projeye performans kazandırmaktır.

Bilgi: Switch Case, İf’e göre daha performanslı çalışır. Sebebi ise yukarıdaki örneği if ile yaparsanız tüm koşulları tek tek kontrol edecektir. Bu konu hakkında ayrı bir yazı gelecektir. ;)

 

MessageBox İçerisinde Metod ile Kullanım

Bu son zamanlarda kullanmaya başladığım bir kullanım şeklidir.

string Islem()
{
    string IslemNo="";
    //kayıt işlemi
    //kayıt işlemini yapıp son REC numarasını aldık ve RECno değişkenine atayıp gönderdik.
    return IslemNo;
}

private void Button1_Click(object sender, EventArgs e)
{          
    MessageBox.Show(Islem() + " Nolu işlem başarılı");
}

Yukarıdaki örneği incelersek. String değer dönderen bir Islem metodumuz var. Yani bu ne demek?. Yazdığımız kodları işleyecek ve bize bir değer oluşturacak. Bu şekildeki metodları atıyorum

textbox1.Text = Islem();

şeklinde de kullanabiliriz.

Hazırladığımız Islem metodunu MessageBox’un mesaj parametresine yazdık. Butona tıkladığımızda kutu oluşacak ama henüz görmeyeceğiz. kutu oluşturulurken, Islem metoduna giriyor. Dediğimiz işlemleri yapıyor. Geri dönen değeri de kutunun mesaj kısmına yazıyor ve kutuyu oluşturmaya devam ediyor. kutu tamamlandığında ise “XX Nolu işlem tamamlandı” şeklinde bir mesaj göreceğiz. Buradaki XX değeri Islem metodumuzdan gelen değerdir.

Mesaj kutusu konusu şimdilik bu kadar dostlar. Daha fazla örnek veya bilgi isterseniz yorum atabilirsiniz. Yazım sizler için faydalı olduysa oy vererek bana bildirebilirsiniz.


Ayrıca Microsoft’un sitesinden tüm ayrıntılarına buradan ulaşabilirsiniz.

C# hakkındaki diğer yazılarımı da görmek isterseniz tıklayınız.

Sağlıcakla ve takipte kalın. ;)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)

Yorumlar (5)

  1. MessageBox’ta çıkan evet/hayır butonlarını ben yazmak istiyorum.Mesela ‘Evet’ yerine ‘Devam Et’ ya da ‘Tamam’ yerine ‘Anladım’ gibi daha samimi sözcükler kullanmam gerekiyor.Bunu yapmam mümkün mü?

  2. messagebox kutusunu farklı renkte ve içindeki yazıyı farklı renkte göstermek için ne yapabilirim?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.