28 Nisan 2013 Pazar

C Sharp Uygulamalar Forma Eklenen Butonları Dinamik Olarak Kontrol Etme



KONU : C Sharp Uygulamalar - C Sharp ( C# ) Form uygulamaları form üzerine eklenen butonları dinamik olarak kontrol etme olay bağlama olayları dinamik olarak kontrol etme.





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace C_Sharp_Buton_Kontrolleri
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //Form üzerinde groupbox1 içine eklediğimiz bütün butonları bu 

        //listenin içinde tutacağız

        List < Button > formGroupbox1Butonlar = new List< Button >();

        private void Form1_Load(object sender, EventArgs e)
        {
            //Form load kısmında formdaki groupbox1 içindeki bütün kontrolleri

            //listeye ekle

            formGroupbox1Butonlar.Clear();

            foreach (Control item in groupBox1.Controls)
            {
                if (item is Button)
                {
                    formGroupbox1Butonlar.Add(item as Button);
                }
            }

            // şimdi bütün butonların click eveti olduğunda aynı metodu çağırmasını

            //istiyorum. Çünkü hangi butona basılırsa textbox içine o butonun 

            //text değerini yazılmasını istiyorum

            for (int i = 0; i < formGroupbox1Butonlar.Count; i++)
            {
                formGroupbox1Butonlar[i].Click += new EventHandler(Button_Click);
            }
        }

        void Button_Click(object sender, EventArgs e)
        {
            // Burada hangi buton tıklanırsa onu kontrol edebileceğim

            Button clickedButton = sender as Button;

            //şimdi tıklanan butonun text değerini  textboxa yazdırıyorum

            textBox1.Text += clickedButton.Text;

            //ayrıca burada tıklanan butonun bütün public özellikleri ile

            //oynayabiliriz. Mesela butonun visible özelliğini false yapabiliriz

            //clickedButton.Visible = false;


            // Ya da butonun arka plan rengini değiştirebiliriz

            clickedButton.BackColor = Color.Lime;

            // Başka olaylarda bağlayabiliriz. Örneğin

            clickedButton.BackColorChanged += new EventHandler(clickedButton_BackColorChanged);
        }

        void clickedButton_BackColorChanged(object sender, EventArgs e)
        {
            MessageBox.Show((sender as Button).Text + " Nolu butonun rengi değişti.");
        }


    }
}


UYGULAMAYI İNDİR

1 yorum :

  1. güzel ve anlaşılır yazı. bana faydası dokundu. teşekkürler.

    YanıtlaSil