Button Array (Buton Dizisi) Kullanımı Nasıl Yapılır C#
Merhaba arkadaşlar, bu yazımızda button array kullanımını öğreneceğiz. Bu sayede nesneleri sürekli bırakma yapmadan kod yazarak oluşturmayı sağlayacağız. Basit bir form oluşturun ve aşağıdaki kodu form_load bloğuna yazın. Yeni başlayanlar için form_load olayını aktif etmek için form üzerine çift tıklayabilirsiniz. Bu bloğa yazdığınız kodlar program açıldığında çalışacaktır. Array Butonlarının click event özelliğini eklediğimiz için hangi butonun üzerine tıklarsak o butonun ismini messagebox ta göreceğiz.
Butonlar gibi diğer tüm nesneleri de bu şekilde oluşturabilirsiniz. Aynı zamanda tüm nesnelerin özelliklerini de aynı şekilde değiştirip kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | using System; using System.Drawing; using System.Windows.Forms; namespace ButtonArray { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { int horizotal = 30; int vertical = 30; Button[] buttonArray = new Button[10]; for (int i = 0; i < buttonArray.Length; i++) { buttonArray[i] = new Button(); buttonArray[i].Name = i.ToString(); buttonArray[i].Size = new Size(60, 23); buttonArray[i].Location = new Point(horizotal, vertical); buttonArray[i].Click += new EventHandler(this.ButtonArray_click); // click event yükle if ((i + 1) % 9 == 0) horizotal = +80; else vertical += 30; this.Controls.Add(buttonArray[i]); } } // Click eventını çağırmak için void ButtonArray_click(object sender, EventArgs e) { Button btn = sender as Button; MessageBox.Show(btn.Name); } } } |
Bol kodlamalar,
bu eklenen butonlara görev tanımlaması nasıl yapabilirim?
buttonArray[i].Click += new System.EventHandler(this.buttonArray[i]_Click);
ekleyip
private void buttonArray[i]_Click(object sender, eventArgs e) şeklinde metot oluşturduğumda hata alıyorum
Merhaba, yukarıdaki kodda günelledim. Nasıl yapıldığını click olarak tıklandığında ekrana ismini getiriyor. Umarım işinize yarar.
çok teşekkür ederim işe yaradı