1. Ana Sayfa
  2. C Sharp

C# Özel MessageBox Yapımı

C# Özel MessageBox Yapımı
+ - 0

C# Özel MessageBox Yapımı , dersim ile C# eğitim setime devam ediyorum. Bu dersimizde C# ta kendimize özel messagebox yapacağız. Gelin bunu nasıl yapacağımızı görelim.

 

C# Özel MessageBox Yapımı

C# MessageBox İşinize Yarayacak Tüm Özellikleri dersime gelen bir yorum üzerine bu dersi hazırlama gereği duydum.

Daha önceleri varsayılan MessageBox ‘taki butonların üzerindeki yazıları değiştirmek istemiştim. Biraz araştırma ile nasıl yapılacağını buldum ama beraberinde bir sürü sorun getirdi. MessageBox açılmadı. Yanlış cevaplar döndü vs. vs. O yüzden de bu işlemden vazgeçmiştim.

Ama bu dersimizde kendimize özel bir messagebox ekranı yapacağız. Ben en basit hali ile bir örnek vereceğim. Siz, size lazım olduğu şekilde istediğiniz gibi geliştirebilirsiniz.

Öncelikle bir form tanımlıyoruz ve adını MyMessageBox yapıyoruz. Sonrasında bu forma bir label ve üç button ekliyoruz. Label’in özelliklerine gelip Modifiers özelliğini public yaptıktan sonra kod kısmına geçiyoruz.

Ekran görüntüsü şöyledir.

C# Özel MessageBox Yapımı

Public bir DialogResult değişkeni tanımlıyoruz ve sonrasında butonlarımızın click eventlerini yazıyoruz. Kodlar aşağıdaki gibidir.

        public DialogResult cevap;
        private void MyMessageBox_Load(object sender, EventArgs e)
        {

        }

        private void btn_devam_Click(object sender, EventArgs e)
        {
            cevap = DialogResult.OK;
            Close();
        }

        private void btn_vazgeç_Click(object sender, EventArgs e)
        {
            cevap = DialogResult.Abort;
            Close();
        }

        private void btn_iptal_Click(object sender, EventArgs e)
        {
            cevap = DialogResult.Cancel;
            Close();
        }

Açıklamak gerekirse, burada Public değişkenimiz sayesinde, hangi butona tıklandığını anlayacağız.

Mesaj formumuzun işlemleri bu kadar. Şimdi bu formu nasıl kullanacağımızı görelim.

Ana formumuza bir buton ve label ekliyoruz. Butona tıkladığımızda verdiğimiz cevabı labele yazdıracağız.

Mesaj formumuzu açmak için bir metod yazacağız. Metodumuz aşağıdaki gibidir.

        DialogResult Mesaj(string Mesaj, string Baslik)
        {
            MyMessageBox fr = new MyMessageBox();
            fr.Text = Baslik;
            fr.lbl_mesaj.Text = Mesaj;
            fr.ShowDialog();
            return fr.cevap;
        }

Metodumuz bir DialogResult dönüş tipi olan bir metoddur. Mesaj formumuzdan aldığımız DialogResult cevabını bu metodun geri dönüşüne atıyoruz.

Şimdi nasıl kullandığımızı görelim.

Ana forma eklediğimiz butonun click eventi içerisine kodlarımızı yazalım.

        private void button1_Click(object sender, EventArgs e)
        {
            DialogResult cvp = Mesaj("Deneme Mesaj", "Deneme mesaş Başlık");
            lbl_mesaj.Text = "Verilen Cevap " + cvp.ToString();
        }

Bir DialogResult değişkeni tanımladık ve metodumuzdan geri dönen değeri aldık. Sonrasında bu geri dönüş değerini stringe dönüştürerek labele yazdık.

Hepsi bu kadar. İşte kendimize özel bir mesaj ekranı yapmak aslında bu kadar basit.

C# varsayılan messageBox gibi bir hale getirmek için biraz daha uğraşmamız gerekmektedir. Duruma göre birden fazla form tasarımı yapılabilir. Belki de bir form tanımlamadan sadece kodlar ile bu formu oluşturup kullanabiliriz.


C# Özel MessageBox Yapımı dersimizde bu kadardı arkadaşlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Bu derste Githup Projemde yerini almıştır.

Takipte ve Sağlıcakla 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. :)