View Full Version : حركت با صفحه كليد
vafanezhad
سه شنبه 04 بهمن 1390, 10:27 صبح
چه طوري ميشه با صفه كليد lablelرا حركت داد ؟
program2vb
سه شنبه 04 بهمن 1390, 11:01 صبح
چه طوري ميشه با صفه كليد lablelرا حركت داد ؟
یا باید در رویداد keyDown فرمت بنویسی
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 37 Then
Shape1.Left = Shape1.Left - 10
End If
End Sub
یا هم با استفاده از تابع Api : GetAsyncKeyState این کارو بکنی که در این روش نیاز به یک تایمر داری .
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer 'Key press API
Private Sub Timer1_Timer()
If GetAsyncKeyState(37) <> 0 Then
Shape1.Left = Shape1.Left - 10
End If
End Sub
البته تو روش اول هم میتونی از تایمر استفاده کنی ولی من روش دوم رو بهت پیشنهاد میکنم بهتره
ولی اگه خواستی از روش اول با تایمر استفاده کنی تو keyDown تایمر رو فعال کن و تو بخش keyup تایمر رو غیر فعال کن
برای مثال میتونی به این ( راهنمایی برخورد شئ (http://barnamenevis.org/showthread.php?318655-%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C%DB%8C-%D8%A8%D8%B1%D8%AE%D9%88%D8%B1%D8%AF-%D8%B4%D8%A6) ) قسمت هم سر بزنی .
موفق و پیروز باشی
یا علی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.