Dinamik Buton Oluşturma

image
image
image
Dinamik Buton Oluşturma

Dinamik Buton Oluşturma

Bu blog yazımda dinamik buton oluşturmayı anlatacağım. Dinamik buton yani program çalışmaya başladıktan sonra herhangi bir olayın gerçekleşmesiyle oluşacak butonun nasıl oluşacağını anlatmadan önce sürükle bırak şeklinde programa yerleştirdiğimiz bir butonun nasıl oluştuğunu anlatmak isterim. Bir butonu sürekle bırak yaparak eklediğimizde bu butonun özellikleri InitializeComponent() fonksiyonun içine yazılıyor. Örnek olarak, name’ine _btnButonOlustur dediğim ve sürükle bırak şeklinde programa eklediğim butonun özelliklerini aşağıdaki resimde görebilirsiniz.

Görüldüğü gibi bir butonu sürükle bırak şeklinde oluşturduğumuzda butonun özellikleri burada atanmış. Burada dikkatimizi çeken ise butonun Controls adlı bir diziye eklenmesidir. Controls dizisi formda bulunan tüm objelerin bulunduğu dizidir. Oluşan her obje bu diziye eklenmelidir. Program çalışmaya başladığında InitializeComponent() fonksiyonu çağrılır. Böylelikle sürükle bırak şeklinde oluşturduğumuz her objeyi formda görürüz.

Bazı butonları program çalışırken (run time’da) oluşturmamız gerekebilir. Bunu yapmak için oluşacak butonun özelliklerini kendimiz atamamız gerekiyor. Örnek dinamik buton:

        private void _btnButonOlustur_Click(object sender, EventArgs e)

        {

            Button btn = new Button(); // butonun oluşturulması

            btn.Location = new Point(10, 100); // butonun koordinatları

            btn.Height = 40; // butonun yüksekliği

            btn.Width = 300; // butonun genişliği

            btn.Text = "Yeni Oluşan Buton"; // butonun texti

            btn.Click += new EventHandler(btn_Click); // butonun eventi

            btn.BackColor = Color.Turquoise; // butonun rengi

           

            Controls.Add((Button)btn); // butonun eklenmesi

        }

 

        private void btn_Click(object sender, EventArgs e)

        {

            MessageBox.Show("Ben yeni oluşan butonum!","Yeni Buton Mesaj");

        }

  Sürükle bırak şeklinede oluşturduğumuz _btnButonOlustur isimli butonuna tıkladığında üzerinde “Yeni Oluşan Buton” yazılı dinamik buton oluşacaktır. Dinamik olarak oluşacak butona tıkladığımızda ise bu butonun event’ine atadığımız btn_Click() fonksiyonu çağrılacak ve fonksiyonun içindeki mesaj verilecektir. Dinamik butonu oluşturmayı anlatmaya çalıştım. Dinamik butonu kullandığım yerlerden birisi dönem sonunda yaptığımız Sinema Otomasyonu’dur. Sinema salonlarını oluştururken her salondaki koltuk sayısı eşit olmayabileceği için kullanıcıdan alınan koltuk sayısına göre salon oluşturulmalıydı. Bunun için dinamik buton kullandık. Son olarak, program çalışırken sadece buton değil tüm objeleri oluşturabileceğinizi belirtmek isterim. Umarım yararlı bir yazı olmuştur. Teşekkür ederim! Programın Kodlarına ulaşmak için: https://github.com/huseyinerbayat/dinamik-buton .exe olarak indirmek için: https://yadi.sk/d/eWnnhUvGjFg2b