Runtime Esnasında Kontrol Ekleme

Merhaba arkadaşlar. Bu benim İlk (siftah) Makalem. Bugün sizinle çalıştırma (Runtime) anında nesne oluşturma işlemine bakacağız. Boş bir proje açınız. Formu açınız ve kontrol eklemeyiniz. F5 tuşuna basınız Form boş çıkmalı. Sonra aşağıdaki adımlara geçiniz.

Ekranda dizayn esnasında olmayan button için Form Load olayına kod eklenmesi gerekiyor. Aşağıdaki kodun eklenmesi yeterli.

private void Form1_Load(object sender, EventArgs e) { // Formun açıldığı anda çalışacak bölüm
Button btnEkle = new Button(); //btnEkle adında bir buton nesnesi oluşturuyoruz. Bundan sonra bu butonumuzun özelliklerine btnEkle olarak erişeceğiz.
btnEkle.Top =100; // btnEkle Form üzerindeki yerleşeceği kordinatlarını belirtiyoruz(Y Ekseni İçin).
btnEkle.Left=50; // btnEkle Form üzerindeki yerleşeceği kordinatları belirtiyoruz(X Ekseni İçin).
btnEkle.Text = “Ekle”; // btnEkle ekranda görüneceği ad. Kullanıcıyı bilgilendirmek için.
btnEkle.Click += new System.EventHandler(this.btnEkle_Click); // btnEkle için birde olay (Event) hazırladım. btnEkle tıklanınca this.btnEkle_Click bölümü çalışacaktır.

this.Controls.Add(btnEkle); // btnEkle için şimdiye kadar yaptılarımız sadece arkaplanda olan olaylar idi. Şimdi o butonu forma ekleyip kullanıcıya butonları göstermek gerekir. this formu ifade etmektedir ve butonumuz hangi kontrol içinde olacaksa — buyukBalik.Controls.Add(kucukBalik); şeklinde olmalıdır. Yoksa btnEkle ekranda görüntülenmez.
}

Altı çizili olan butonumuzun tıklama olayı için yazılmış bölümde burasıdır. Aşağıdaki kod satıra eklenmeli.

private void btnEkle_Click(object sender, EventArgs e) { // btnEklenin tıklama anı için yazdığımız bölüm
PictureBox pic1 = new PictureBox(); // pic1 adında bir pictureBox nesnesi oluşturuyoruz. Bundan sonra bu PictureBoxumuza pic1 olarak erişeceğiz.
pic1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; // Bu pic1 in kenarlarında belirgin bir çizgi olmasını sağlayacak.
pic1.Top = 35; // pic1 form üzerindeki yerleşeceği kordinatlarını belirtiyoruz(Y ekseni için).
pic1.Left = 10; // pic1 form üzerindeki yerleşeceği kordinatlarını belirtiyoruz(X ekseni için).
pic1.Width = 125; // pic1 genişliği
pic1.Height = 125; // pic1 yüksekliği
pic1.Image = ikariam.Properties.Resources.defter; // Buda önceden Resource eklediğim defter adlı fotoğraf.
pic1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; // Fotoğrafın Pic1 içinde nasıl görüneceğini belirtiyoruz. ( pic1 içine sığdırılsınmı, pic1 resmin boyutuna göremi ayarlansın vb.)

pic1.Click += new System.EventHandler(this.pic1_Click); // pic1 için tıklama anında çalışacak olayımız

this.Controls.Add(pic1); // Yine pic1'in forma kontrol için eklenmesi gerekir.

PictureBox pic2 = new PictureBox();

pic2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
pic2.Top = 175;
pic2.Left = 10;
pic2.Width = 125;
pic2.Height = 125;
pic2.Image = ikariam.Properties.Resources.cop;
pic2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
pic2.Click += new System.EventHandler(this.pic2_Click);

this.Controls.Add(pic2);
}

Bu Kodlarıda Yazdık Şimdi Butonumuza Tıklayabiliriz..

Resimlerimiz İçinde Olay (Event) Ekledim. Şimdi Not Defteri Resimli Olan PictureBox a Tıklayınız.

private void pic1_Click(object sender, EventArgs e) {
 MessageBox.Show(“Not Defterine Tikladiniz…”);
 }

private void pic2_Click(object sender, EventArgs e) {
 MessageBox.Show(“Çop Kutusuna Tikladiniz…”);
 }

Özet = MS Visual Studio’da program geliştirirken pek fazla kullanılmayan bir konuya dikkat çekmek istedim. Bu bahsi geçen kodları Visual Studio’da görebilirsiniz. Nasıl = Solution Explorerdan aktif proje içindeki istediğiniz formun yanındaki + İşaretine tıklayıp Form1.Designer.cs dosyasına çift tıklayınız. Burada belirtilmeyen diğer kodlarıda görebilirsiniz.

İyi Çalışmalar.