- Aktiflik
- K.Tarihi
- 29 Kas 2010
- Mesajlar
- 276
- Puanı
- 106
Öyle durumlar olur ki, kendi nesnenizi kendiniz üretip, o nesneyi yönetmek istersiniz. Başıma geldi, ne yaparım ne ederim diye çok kafa yordum. Ancak o kadarda zor olmayacak bir şey olduğunu çözdüm .
Öncelikle Event nedir ona değinelim. Event, bir işlem sonucunda gerçekleşmesi istenen şeydir. Event’ın gerçekleşmesi için mutlaka tetiklenmesi gerekir. Örnek verecek olursam, Buton bir nesnedir, ama butona tıklanınca gerçekleşen event’tır. Ya da Form bir nesnedir, ama form açılırken gerçekleşenler Event’tır.
Fazla uzatmadan başlayalım. Öncelikle nesneyi oluşturalım. Ben nesne olarak buton kullanmak istiyorum. Sizler de PictureBox,ListBox,ComboBox vs. ne varsa oluşturabilrsiniz. Gerçekleşecek Event için de Ben Click Yani tıklama olayı üzerinden örnek göstereceğim.
Yalnız nesne oluşturuken dikkat etmeniz gereken bazı hususlar var;
Dilerseniz kodlamaya geçelim. Nesne oluşturmada sınır koymadan, kullanıcının belirlediği kadar buton oluşturacağım. Form açılırken kullanıcıdan buton sayısı isteyecek, kullanıcının istediği kadar buton oluşacaktır.
CType’nin ne iş gördüğünü geçenlerde karbel üstad anlatmıştı;
color=#800080 face=Calibrihttp://Cyber-warrior.org/Forum/display_topic_threads.asp?ForumID=121&AFID=0&TopicID=336715&PagePosition=1
Burada Nesne adında tanımladığımız object’i Button nesnesine dönüştürüyoruz. Amacımız da Mesaj kutusunda tıklanan butonun textini mesaj kutusunda göstermekti.
Yalnız şuanda butonlarımız bu olayı göremeyecekler. Çünkü butonları oluştururken şu senin olayındır diye tanımlamadık. Döngü içerisine ;
AddHandler Buton.Click, AddressOf Me.Tikla
Eklemeniz gerekecektir. Burada Buton.Click için adres olarak oluşturduğumuz olayı belirledik.
Artık programı çalıştırdığımızda, oluşan butonlara tıklandığında ben şuyum ben buyum diyebilecektir. Sizler bu yöntemi temel alarak daha büyük sistemlerde kullanabilirsiniz.
Öncelikle Event nedir ona değinelim. Event, bir işlem sonucunda gerçekleşmesi istenen şeydir. Event’ın gerçekleşmesi için mutlaka tetiklenmesi gerekir. Örnek verecek olursam, Buton bir nesnedir, ama butona tıklanınca gerçekleşen event’tır. Ya da Form bir nesnedir, ama form açılırken gerçekleşenler Event’tır.
Fazla uzatmadan başlayalım. Öncelikle nesneyi oluşturalım. Ben nesne olarak buton kullanmak istiyorum. Sizler de PictureBox,ListBox,ComboBox vs. ne varsa oluşturabilrsiniz. Gerçekleşecek Event için de Ben Click Yani tıklama olayı üzerinden örnek göstereceğim.
Yalnız nesne oluşturuken dikkat etmeniz gereken bazı hususlar var;
Eğer nesne birden fazla ise aynı isimler verilmemeli,
· Eğer nesne birden fazla ise Konumlarına dikkat edilmeli. Yoksa nesneler üst üste oluşur.
· Nesnelerin boyutları dikkate alınmalı.
· Eğer nesne birden fazla ise Konumlarına dikkat edilmeli. Yoksa nesneler üst üste oluşur.
· Nesnelerin boyutları dikkate alınmalı.
Dilerseniz kodlamaya geçelim. Nesne oluşturmada sınır koymadan, kullanıcının belirlediği kadar buton oluşturacağım. Form açılırken kullanıcıdan buton sayısı isteyecek, kullanıcının istediği kadar buton oluşacaktır.
PHP:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
’Başlangıç X = 12, Y = 12
’Artış = 29
Dim OlusacakButon As Integer = InputBox("Lütfen oluşacak Buton sayısını girin")
Dim i As Integer ’Döngümüz için gerekli
Dim Y As Integer = 12 ’Butonun Yatay eksendeki konumu için
Dim X As Integer = 12 ’Butonun dikey eksendeki konumu için
Const Artis = 29 ’Butonların arasındaki mesafe için gereklidir. Siz kendinize göre hesaplayıp,artış oranını ona göre belirleyebilirsiniz.
For i = 1 To OlusacakButon
Dim Buton As New Button()
Me.Controls.Add(Buton) ’Butonu forma ekleyeceğimiz için Me.Controls kullandık.
Buton.Name = "Btn" & i ’Buton isimleri çakışmaması için
Buton.Location = New Point(X, Y) ’Butonun konumunu belirledik.
Buton.Size = New Size(115, 23) ’Butonun Boyutunu belirledik.
Y += Artis ’Butonları alt alta dizdiğimizden, sadece Y ekseninde artış olmakta
Buton.Text = i & ". buton" ’Butonumuza görünür metin girdik.
Next
End Sub
Gerekli açıklamaları göründüğü gibi kodların yanında mevcutlar. Butonlar artık oluştu. Şimdi önemli olan butonlara tıklandığında gerçekleşecek olay. 1. Butona tıklandığında "Ben 1. butonum", 2. Butona tıklandığında "Ben 1. butonum",... mesajlarını görüntületeceğiz. Şimdi Butonlarımız için Tikla adında bir olay oluşturacağız.
Private Sub Tikla(ByVal Nesne As Object, ByVal Olay As EventArgs)
MsgBox("Ben " & CType(Nesne, Button).Text & "um")
End Sub
CType’nin ne iş gördüğünü geçenlerde karbel üstad anlatmıştı;
color=#800080 face=Calibrihttp://Cyber-warrior.org/Forum/display_topic_threads.asp?ForumID=121&AFID=0&TopicID=336715&PagePosition=1
Burada Nesne adında tanımladığımız object’i Button nesnesine dönüştürüyoruz. Amacımız da Mesaj kutusunda tıklanan butonun textini mesaj kutusunda göstermekti.
Yalnız şuanda butonlarımız bu olayı göremeyecekler. Çünkü butonları oluştururken şu senin olayındır diye tanımlamadık. Döngü içerisine ;
AddHandler Buton.Click, AddressOf Me.Tikla
Eklemeniz gerekecektir. Burada Buton.Click için adres olarak oluşturduğumuz olayı belirledik.
Artık programı çalıştırdığımızda, oluşan butonlara tıklandığında ben şuyum ben buyum diyebilecektir. Sizler bu yöntemi temel alarak daha büyük sistemlerde kullanabilirsiniz.