PDA

View Full Version : کلید backcpace



sahba2010
دوشنبه 05 اردیبهشت 1390, 12:10 عصر
سلام دوستان میخواستم
بفهمم که کاربر چه موقع کلید backspace را فشرده است
البته با کد اسکی امتحان کردم متاسفانه کد اسکی برای این دگمه وجود ندارد

barbodsoft.com
دوشنبه 05 اردیبهشت 1390, 12:34 عصر
تو keydown فرمت یا هر کنترلی که می خوای براش این کار رو انجام بدی این کد رو بنویس


If e.KeyCode = Keys.Escape Then
MsgBox("Escape pressed")
End If


در ضمن اگه تو keydown فرم می نویسی حتما از keypreview فرم رو true کن.

sahba2010
دوشنبه 05 اردیبهشت 1390, 13:04 عصر
مرسی از راهنماییت
ولی اگر بخوام در keypress بنویسم چه کنم

barbodsoft.com
دوشنبه 05 اردیبهشت 1390, 13:22 عصر
تو keypress بنویس


If Asc(e.KeyChar) = 8 Then
MsgBox(Asc(e.KeyChar))
End If


در ضمن من کد قبلی رو Escape رو با backscape اشتباه گرفتم تو کد قبلی بجای Escapeبنویس back

sahba2010
دوشنبه 05 اردیبهشت 1390, 13:28 عصر
عالی بود دستت درد نکنه
خیلی خیلی ممنون

sahba2010
دوشنبه 05 اردیبهشت 1390, 13:37 عصر
سلام barbodsoft.com تکه برنامه ای که گفتی درست کار کرد دستت درد نکنه اما یه مشکل جدید برام پیش اومده
تشخیص میده که backspace انتخاب شده اما وظیفه backspace انجام نمیشه به برنامه من دقت کن
http://s1.picofile.com/file/6581792752/untitled.jpg

barbodsoft.com
دوشنبه 05 اردیبهشت 1390, 14:08 عصر
اگه منظورت اینه که عدد وارد نشه و در ضمن backscape هم کار نکنه می تونی از این استفاده کنی


Dim i As Integer = Val(e.KeyChar)
If Asc(e.KeyChar) = 8 Or e.KeyChar = "0" Or (i >= 1 And i <= 10) Then
e.Handled = True
End If


شایدم منظورت این هست که فقط عدد وارد شود و در این حال backscape هم فعال باشه.



If Asc(e.KeyChar) = 8 Then Exit Sub
If (Char.IsNumber(e.KeyChar) <> True) Then
e.Handled = True
MessageBox.Show("لطفا فقط عدد وارد کنید")
End If

sahba2010
دوشنبه 05 اردیبهشت 1390, 14:46 عصر
اوکی واقعا نمیدونم چه جوری ازت تشکر کنم
دقیقا منظورم دومی بود می خواستم فقط ععد وارد بشه در ضمن کلید BACKSPACE هم کار کنه
انشاء الله که همیشه موفق و پیروز باشی