Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKey1 Then Kutu.Text = Val(Kutu.Text) + 1
End Sub
Yukarıdaki kod sayesinde 1.ci tuş ile Text kusundaki 0 sayısı +1 artıyor. Ama Tuştan parmağımı kaldırmaz isem sürekli sayıyı artırıyor. Bunu nasıl engelleyebilirim?
keyup la yap. basınca değil çekince saysın.
Alıntı yapılan: muhittin_kaplan - 04 Temmuz 2013, 21:15:11
keyup la yap. basınca değil çekince saysın.
Basınca sayan lazım hocam.
Delphi'de Onclick Event'ı var. Vbasic'deki karşılığını bilmiyorum.
Onu kullanabilirsin.
Ya da ilk_defa diye boolean bir değişken tanımlarsın.
İlk çalışmanın sonunda False değeri atarsın.
Tuş yukarı kalktığında tekrar True yaparsın.
Eylemi yapmak için
if ilk_defa then sayi = sayi + 1;
Dim x As Boolean
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 And x = False Then
kutu.Text = Val(kutu.Text) + 1
x = True
End If
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
x = False
End Sub
Private Sub Form_Load()
x = False
End Sub
keypress oluyormuydu ki. Hatırlamıyorum.
Alıntı yapılan: influx - 04 Temmuz 2013, 21:51:24
Dim x As Boolean
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 And x = False Then
kutu.Text = Val(kutu.Text) + 1
x = True
End If
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
x = False
End Sub
Private Sub Form_Load()
x = False
End Sub
Teşekkürler bu işimi görür.