>> Visual Basic Formlarına Neler Uygulayabiliriz?
Load() : Formun ilk defa hafızaya yüklendiği zaman meydana gelen olaydır.Bu olay kullanılarak ,kullanıcıya formu göstermeden önce yapılması gereken işler yapılabilir. Örneğin ,kullanıcı programı başlattığında ilk önce kullanıcıdan,kullanıcı adı ve şifresini alarak daha sonra yüklenecek ana formda bu bilgileri kullanarak bir veritabanına bağlantı sağlayabiliriz.
Activate() : Formun ,programda aktif olması sırasında meydana gelir. Eğer programımızda bir tane form varsa bu form her zaman aktiftir. Bu olaya ,formun aktif olması sırasında yapılmasını istediğimiz olayları yazabiliriz.
Deactivate() : Formun , programda aktivitesini kaybetmesi sırasında meydana gelen olaydır. Bu olaya ,formun aktivitesini kaybetmesi sırasında yapılmasını istediğimiz olayları yazabiliriz.
Unload(Cancel As Integer) : Formun kapatılması sırasında meydana gelen olaydır. Ayrıca bu olayda tanımlanmış Cancel değişkenini kullanarak sadece bizim istediğimiz durumda formun kapanmasını sağlayabiliriz. Bunu gerçekleştirmek için ,yani formun kullanıcı tarafından hiçbir şekilde kapatılmaması için Cancel değişkenine True değerini atamalıyız. Aşağıdaki örnekte kullanıcı formu kapatmak istediği zaman bir pencereyle(inputbox) karşılaşıyor ve bir değer girmesi isteniyor. Eğer girdiği değer 2 ve 2'den büyükse form kapanmıyor.
Private Sub Form_Unload(Cancel As Integer)
Dim c
c = InputBox("Formu kapatmak için bir sayi giriniz", "Çikis")
If c > 2 Then
Cancel = True
Else
Cancel = False
End If
End Sub
Not : Bu olay formun End komutuyla sonlandırılması sırasında meydana gelmez. Yani bu olayın meydana gelebilmesi için formun program tarafından End komutu kullanılarak sonlandırılmaması gerekir.
Yukarıdaki programı çalıştırdığınızda aşağıdakine benzer bir ekranla karşılaşmalısınız.

Resize() : Formun boyutlarının değiştirilmesi sırasında meydana gelir.Örneğin formun genişliğinin veya yüksekliğinin değiştirilmesi bu olayın meydana gelmesini sağlar.
KeyPress(KeyAscii As Integer) : Formun çalışması sırasında yön ve kontrol(Ctrl,Alt,Shift) tuşları dışında herhangi bir tuşa basılması sırasında meydana gelen olaydır. Bu olayda basılan tuşun Ascii değeri KeyAscii değişkenine atanır. Bu değişkeni kullanarak hangi tuşa basıldığını öğrenebilirsiniz. Aşağıdaki program, formun çalışması sırasında hangi tuşa basıldığını ekrana yazar.
Private Sub Form_KeyPress(KeyAscii As Integer)
Show
Print Chr(KeyAscii) & " tusuna bastiniz."
End Sub

KeyDown(KeyCode As Integer, Shift As Integer) : Bu olay herhangi bir tuşa basıldığı anda meydana gelir. Bu olayda iki parametre kullanılır.Bu parametrelerin biri basılan tuşun Ascii değerini , diğeri ise bu tuşla birlikte Shift,Ctrl ve Alt tuşlarından herhangi birine basılıp basılmadığı konusunda bilgi tutar. Aşağıdaki tabloda Shift parametresinin alabileceği değerler ve açıklamalarını bulabilirsiniz.
|
Shift
|
Parametresinin Değeri Açıklama |
|
0
|
Shift ,Ctrl ,Alt tuşlarından herhangi birisi basılı durumda değil. |
|
1
|
Shift tuşu basılı durumda. |
|
2
|
Ctrl tuşu basılı durumda. |
|
3
|
Shift ve Ctrl tuşları basılı durumda. |
|
4
|
Alt tuşu basılı durumda. |
|
5
|
Shift ve Alt tuşları basılı durumda. |
|
6
|
Ctrl ve Alt tuşları basılı durumda. |
|
7
|
Shift ,Ctrl ve Alt tuşları basılı durumda. |
Aşağıdaki örnekte kullanıcı Ctrl tuşu ile birlikte A tuşuna basarsa kullanıcıya mesaj verecektir.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 65 And Shift = 2 Then
MsgBox "Ctrl+A tus kombinasyonunu kullandiniz."
End If
End Sub

KeyUp(KeyCode As Integer, Shift As Integer) : Bu olay ise kullanıcının bastığı tuşu bırakması sırasında meydana gelir. Yukarıdaki tabloda Shift parametresi için gösterilen değerler bu olayda da geçerlidir.
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) : Bu olay formun üzerinde mouse'un herhangi bir tuşuna basılması sırasında meydana gelir. Bu olayda kullanılan parametrelerden Button parametresi,kullanıcını mouse'un hangi tuşuna bastığı bilgisine tutar ve kullanıcı mouse'un sol tuşuna basmışsa 1,sağ tuşuna basmışsa 2,her iki tuşa birlikte basmışsa 3 değerini alır. İkinci parametre olan Shift ise mouse'un tuşlarına basıldığı sırada herhangi bir kontrol karakterine basılıp basılmadığı bilgisini tutar ve yukarıdaki tabloda açıklanan değerler bu olaydaki Shift parametresi için de geçerlidir.X ve Y parametreleri ise bu olayının meydana geldiği andaki mouse işaretçisinin yerinin Twip cinsinden değerlerini tutarlar. Aşağıdaki örnekte mouse'un sol tuşuna tıklandığı yerin Twip olarak değeri kullanıcıya mesaj olarak gösteriliyor.
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
MsgBox ("Mouse'un yeri :" & Str(X) & "," & Str(Y))
End If
End Sub

MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) : Bu olay kullanıcını mouse'un bastığı tuşunu serbest bırakması sırasında meydana gelir ve kullanılan parametreler MouseDown olayındakilerle aynıdır.
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) : Bu olay mouse işaretçisinin form üzerindeki yerinin değişmesi sırasında meydana gelir ve kullanılan parametreler MouseDown olayındakilerle aynıdır.
Click() : Bu olay mouse ile formun herhangi bir yerine tek tıklama yapıldığında meydana gelir.
DblClick() : Bu olay mouse ile formun herhangi bir yerine üst üste iki tıklama yapıldığında meydana gelir. Aşağıdaki programda kullanıcıya, formun herhangi bir yerine çift tıklaması durumunda bir mesaj gösterilecektir.
Private Sub Form_DblClick()
MsgBox "Mouse ile Çift Tıklama Yaptiniz.", , "Çift Tiklama"
End Sub
