Run-Time kontrol oluşturabilmek için o kontrolden bir nesne yaratmanız gerekecektir.
Button btn = new Button(); diye tek bir nesne oluşturup döngüler yardımıyla istediğiniz kadar buton görüntüleyebilirsiniz.
int x = 40; //başlangıç x koordinatı
int y = 40;//başlangıç y koordinatı
int b = 1; //yerleştirilen buton numarasının tutar
private void Form3_Load(object sender, EventArgs e) //işlemleri form yüklenirken yapsın
{
for (int i = 0; i < 10; i++) //matrix mantığı ile 100 tane buton oluşturacaz
{
for (int j = 0; j < 10; j++)
{
Button btn = new Button();
//butondan bir nesne oluşturmamız gerekecek
btn.Name = "btnNo" + b;
//her birinin adı oluşum sıralarının adını alacaktır
btn.Text = b.ToString();
btn.Size = new Size(40, 40); //size her defasında 40-40 olacaktır
btn.Left = x;
x += 40; //x koordinatı tek bir satır için her defasında 40 yana kaymalı
btn.Top = y; //y koordinatı aynı satır aynı kalır alt satıra geçildiğinde 40 artar
b++; //butonun numarası her defasında bir artacaktır
btn.Click += new EventHandler(btn_Click); //hatta isterrsek o butona event bile yazarız
//butona basılma eventini tutar
//event olduğunu += gösterir
//bu formun kontrollerine oluşturduğun btn nesnesini eklemen gerek
this.Controls.Add(btn); //btn kontrolünün nereye ait olduğunu belirtmeiz gerekir,formun kontrolü
}
x = 40; //ilk 10 taneyi oluşturduktan sonra alt satıra geç ama lefti değişmeyecek
y += 40; //top üstten bir satır uzaklaştığı için +40 olmalı
} }
void btn_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
//sender içinde thisin verilerini tutar
MessageBox.Show("Merhaba " + btn.Text + " im..");
}
0 yorum:
Yorum Gönder