C# (Csharp): MessageBox Kullanımı

erhaba arkadaşlar. Bu yazımızda MessageBox üzerinde durmaya çalışacağız. nasıl gösterilir, üzerinde ne gibi oynamalar yapılabilir onlardan bahsedeceğiz.
Bilindiği gibi ister masaüstü uygulamaları olsun isterse web uygulamalarında olsun bazen kullanıcıya yaptığı işlemlerle ilgili bilgi iletmek istersiniz. bunun en görünür hali mesaj kutularıdır. birçok farklı amaç için kullanılabilir. Uyarı vermek veya bilgilendirmek en bilinir amacı gibi görünse de bazen de kullanıcıdan bilgi alma, verdiği bilgiyi doğrulama gibi ihtiyaçlarımız da olur. İşte MessageBox bu ve benzeri ihtiyaçlarımız gayet güzel karşılamaktadır. Şimdi aşağıda MessageBox ile ilgili kullanım şekillerini vermeye çalışacağım.


Masaüstü Uygulamalarda:

Genel Yapısı : MessageBox.Show("Mesaj metni", "Mesaj başlığı", mesaj kutusu butonlarının ne şekilde olacağı, mesaj kutusunun iconu );

1- MessageBox.Show("merhaba dünya");

Bu en basit şekildir. sadece karşımıza çıkacak mesaj yazılır. bunu yazdığınızda karşınıza sadece yazdığınız mesaj metni ve tamam butonu çıkacaktır. geriye döndüreceğiniz değer tek ise kullanılabilir. 


2- MessageBox.Show("merhaba dünya","İlk Mesaj");

Bu kullanımın diğerinden farkı, mesaj kutusunun üstünde mesaj başlığının görünmesidir.




3- MessageBox.Show("merhaba dünya","İlk Mesaj", MessageBoxButtons.YesNoCancel);

Bu örnek diğer ikisinin üzerine ilave olarak çıkacak mesaj kutusunda hangi butonların olması gerektiğini tercih edebiliriz.


Farklı birçok buton seçenek vardır. Bu bölümde kullanabileceğimiz seçenekler şunlar:
Üye adıAçıklama
AbortRetryIgnore
İleti kutusu durdurma ve Yeniden Dene'yi yoksay düğmeler içerir.
OK
İleti kutusunda Tamam düğmesi içerir.
OKCancel
İleti kutusu Tamam ve İptal düğmeleri içerir.
RetryCancel
İleti kutusu yeniden deneme ve İptal düğmeleri içerir.
YesNo
İleti kutusu Evet ve Hayır düğmelerini içerir.
YesNoCancel
İleti kutusu Evet, Hayır içerir ve İptal düğmeleri.

4- MessageBox.Show("merhaba dünya","İlk Mesaj", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk);

Burada da mesaj kutumuzu şekillendirmeye devam ediyoruz. Mesajımıza bir icon belirliyoruz.

Gördüğünüz gibi mesajımızın önüne bir icon geldi. Böylece mesajımızın içeriğinin ne olduğu görsel olarak da gösterilmiş oldu. Diğer icon seçenekleri de şunlardır.

Üye adıAçıklama
Asterisk
İleti kutusu bir küçük harf i bir daire içinde oluşan bir simge içerir.
Error
İleti kutusu ile arka plan kırmızı bir daire içinde beyaz X oluşan bir simge içerir.
Exclamation
İleti kutusu sarı arka plana sahip bir üçgen içindeki ünlem oluşan bir simge içerir.
Hand
İleti kutusu arka plan kırmızı bir daire içinde beyaz bir X oluşan bir simge içerir.
Information
İleti kutusu bir küçük harf i bir daire içinde oluşan bir simge içerir.
None
İleti kutusu hiçbir simgeleri içerir.
Question
İleti kutusu bir daire içinde bir soru işareti içeren bir simge içerir. Soru işareti ileti simgesi artık belirli bir ileti türünü açıkça göstermiyor olduğundan ve bir iletinin yapılar soru olarak herhangi bir ileti türü için uygulanabilir çünkü önerilir. Ayrıca, kullanıcıların Yardım bilgileriyle ileti simgesi soru işareti kafasını karıştırabilir. Bu nedenle, bu soru işareti ileti simgesi, ileti kutularında kullanmayın. Sistem, yalnızca geriye dönük uyumluluk için kendi ekleme desteklemeye devam eder.
Stop
İleti kutusu ile arka plan kırmızı bir daire içinde beyaz X oluşan bir simge içerir.
Warning
İleti kutusu sarı arka plana sahip bir üçgen içindeki ünlem oluşan bir simge içerir.


5- MessageBox.Show("merhaba dünya","İlk Mesaj", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button3);

Burada butonların default değerleri değiştirilir. Mesela yukardaki örnekte MessageBoxButtons olarak 3'lü buton seçtik bunlarıdan "yes" butonu seçili olarak geliyor. ancak biz seçili olarak "Cancel" butonu olsun istiyoruz. O zaman yapmamız gereken "MessageBoxDefaultButton.Button3" yapmak. üçüncü butonu default yapıp seçili halde ekrana getirmek.




Bu şekilde çeşitlendirdiğimiz ve görsel olarak düzenledğimiz MessageBox geriye DialogResult türünde değer döndürür. Verilen cevabı kontrol etmek içinde aşağıdaki bir yapı kullanılabilir. 


        private void GelenYanit()
        {
            DialogResult Mesaj_Kutusu;

            Mesaj_Kutusu = MessageBox.Show("Mesaj Metni", "Mesaj Başlığı", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);

            switch (DialogResult)
            {
                case DialogResult.None:
                    // Yapılacak İşlemler
                    break;
                case DialogResult.OK:
                    // Yapılacak İşlemler
                    break;
                case DialogResult.Cancel:
                    // Yapılacak İşlemler
                    break;
                case DialogResult.Abort:
                    // Yapılacak İşlemler
                    break;
                case DialogResult.Retry:
                    // Yapılacak İşlemler
                    break;
                case DialogResult.Ignore:
                    // Yapılacak İşlemler
                    break;
                case DialogResult.Yes:
                    // Yapılacak İşlemler
                    break;
                case DialogResult.No:
                    // Yapılacak İşlemler
                    break;
                default:
                    // Yapılacak İşlemler
                    break;
            }


        }

isterseniz if döngüsünü de kullanabilirsiniz. tamamen o anki duruma göre şekillenecek bir durum. 







Web Uygulamalarında:

Web uygulamasında c# kodu kullanarak mesaj kutusu oluşturmak istiyorsanız aşağıdaki kod işnize yarayacaktır.

                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Mesaj Başlığı", "<script>alert('Mesaj Metni');</script>");


aslında görüldüğü gibi bu kod java script kodu ancak çağırılma şekliyle c# oluyor.


Ayrıntılı bilgi için: https://msdn.microsoft.com/tr-tr/library/system.windows.forms.messagebox(v=vs.110).aspx

Yorumlar