C# form uygulamalarında mesaj penceresi (MessageBox), kullanıcı çeşitli işlemler yaparken bazı önemli durumlar meydana geldiğinde, uyarı, bilgilendirme ve hata mesajları göstermek için açılan, yardımcı pencerelerdir. Ayrıca kullanıcının bu pencere üzerindeki seçimine bağlı olarak farklı kod bloklarının çalışmasını da sağlayabiliriz. Konuya en iyi örnek, office uygulamalarında Kapat butonuna tıklandığında açılan aşağıdaki pencere olacaktır.

Tüm mesaj bildirim işlemleri için MessageBox.Show() metodu kullanılmaktadır. Bu metodun birçok parametresi bulunmakta ve bu durum esnek bir kullanım sağlamaktadır.
Basit Bir Bildirim Penceresi Oluşturmak
En basit haliyle bir mesaj penceresi başlık ve kullanıcıya sunulacak bir mesajdan oluşur. Metodun 1.parametresi mesajı, 2.parametresi başlığı gösterir.
1 |
MessageBox.Show("Kayıt İşlemi Tamamlandı!", "Bilgilendirme Penceresi"); |
Kod çalıştırıldığında aşağıdaki gibi başlık ve mesajı içeren bir pencere gösterilir. Tamam butonuna tıklandığında pencere kapanır.

Pencere Düğmelerini Belirlemek
Yukarıdaki örnekten farklı olarak mesaj penceremize Tamam butonu yerine, gerektiği yerlerde farklı seçimler yapabileceğimiz düğmeler ekleyebiliriz. Bu durumda metodumuzun 3.parametresi olan düğme seçeneklerini, aşağıdaki gibi kodumuza ekliyoruz.
1 |
MessageBox.Show("Değişiklikleri kaydetmek istiyor musunuz?", "Bilgilendirme Penceresi",MessageBoxButtons.YesNoCancel); |

Evet-Hayır-İptal seçenekleri yerine farklı düğme alternatifleri kullanmak isterseniz aşağıdaki tabloyu inceleyiniz.
MessageBoxButtons | Gösterilecek Seçenekler |
AbortRetryIgnore | İptal-Yeniden Dene-Yoksay |
OK | Tamam |
OKCancel | Tamam-İptal |
RetryCancel | Yeniden Dene-İptal |
YesNo | Evet-Hayır |
YesNoCancel | Evet-Hayır-İptal |
Pencereye Icon Eklemek
Gösterdiğimiz mesajın konusuna uygun olarak bir icon seçimi yapmak, mesajlarımızın daha profesyonel görünmesini sağlayacaktır. Show() metodumuzun 4.parametresi icon seçimi yapmak için kullanılmaktadır.
1 |
MessageBox.Show("Değişiklikleri kaydetmek istiyor musunuz?", "Bilgilendirme Penceresi",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Information); |

Örnekte oluşan soldaki küçük resim bilgilendirme (information) anlamı taşımaktadır. Farklı ikonlar kullanmak isterseniz, aşağıdaki tablodan yararlanabilirsiniz.
MessageBoxIcon |
|||||||
Asterisk | Error | Exclamation | Hand | Information | Question | Stop | Warning |
Basılan Düğmeye Göre Çalıştırılacak Kod Bloklarını Belirlemek
Bazen kullanıcının yaptığı seçime bağlı olarak bazı kodların çalıştırılması istenebilir. Örneğin kullanıcı Kaydet butonuna tıkladığında mesaj penceresi açılır, eğer kullanıcı Evet seçeneğini seçerse kayıt veritabanına eklenir gibi. Farklı düğme seçeneklerine göre işlemler yaptırmak için DialogResult özelliğini kullanacağız.
1 2 3 4 5 6 7 8 9 10 |
DialogResult secenek= MessageBox.Show("Kaydı veritabanına kaydetmek istiyor musunuz?", "Bilgilendirme Penceresi",MessageBoxButtons.YesNo,MessageBoxIcon.Information); if (secenek == DialogResult.Yes) { //Veritabanına kayıt ekleyen kodlar } else if(secenek==DialogResult.No) { //Hayır seçeneğine tıklandığında çalıştırılacak kodlar } |
Hayır seçeneğine tıklandığında özel bir kod çalıştırmak istemezseniz else-if bloğunu kullanmak zorunda değilsiniz. Sadece üsteki if bloğu işimizi görecektir. DialogResult’ı sadece Evet-Hayır değil, farklı seçimlere göre de işlem yapacak şekilde ayarlayabilirsiniz.
MessageBox kullanımıyla ilgili gereksiz detaylara girmeden en önemli kısımlara değinmek istedim, konuyla ilgili sorularınızı bana iletebilirsiniz.
messageboxbuttons. dan sonra diğer kontrollerle ilgilide örnek yapabilirmisiniz?
Arayüz açılırken mesaj çıkması için ne yapmamız lazım. Örneği Lütfen USB kablosunun takılı olduğundan emin olun. mesajı çıksın tamama basınca arayüz çalışsın.
form load event ine kodlarınızı yazmalısınız
ben şimdi message yazıyorum normalde message boxun altta çıkması gerekiyo ya ben de çıkmıyo manuel yazınca da hata veriyo
Hakan
Form_Load ekranında Yazman Gerekiyor.
Örnek:
private void Form2_Load(object sender, EventArgs e)
{
MessageBox.Show(“Lütfen USB kablosunun takılı olduğundan emin olun.”);
}
Örnek :
private void Form1_Load(object sender, EventArgs e)
{
DialogResult secenek= MessageBox.Show(“Lütfen USB kablosunun takılı olduğundan emin olun”, “İstediğin Başlık”,MessageBoxButtons.OK,MessageBoxIcon.Information);
if (secenek == DialogResult.OK)
{
//Gireceğin kod
}
}
if (EkleKomut.ExecuteNonQuery() == 1)
MessageBox.Show(“kayıt eklendi”, “yeni kayıt”);
DialogResult ta göre bu oraya naıl yazmalıyım
bide hocam izlediğim videolarda Form1.cs oluyo fakat bende Form1.vb oluyo nası cs yapıcam?
belki sorun vb olmasındadır