View Full Version : یک سوال برای پرش بین Textbox با کلید Enter
mpmsoft
دوشنبه 12 آذر 1386, 22:14 عصر
سلام دوستان من یک سوال دارم من کد این کد رو نوشتم.
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode=13 Then Text2.SetFocus
End Sub
بعد از زدن دکمه Enter جهش انجام می شه ولی یک صدای Beep میاد
اگر بخواهیم این صدا نیاد چیکار باید بکنیم
roozbeh_black
دوشنبه 12 آذر 1386, 23:18 عصر
سلام.!
ممکنه کمی غیر استاندارد باشه اما بزرگان به بزرگی خودشون ببخشن.!
چیزی که به نظر من رسید این بود.!
اولا خاصیت MultiLine تکس ها True باشه و بعد با استفاده از کد زیر مشکل حل میشه.!
(امتحان کن خبرشو بده)
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Text1.Locked = True
Text2.SetFocus
End If
End Sub
همینطور در Textbox دوم برای اینکه امکان ویرایش یا هر کار دیگه Text1 وجود داشته باشه
می نویسیم.
Private Sub Text2_GotFocus()
Text1.Locked = False
End Sub
amini699
سه شنبه 13 آذر 1386, 00:24 صبح
این کد رو بنویس
Private Sub Text14_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{Tab}"
End If
If KeyAscii = 13 Then KeyAscii = 0
End Sub
__siavash__
سه شنبه 13 آذر 1386, 00:48 صبح
اون صدای بیپ برای اینه که در تکست باکسی که خاصیت MultiLine فعال نیست فشردن اینتر معنایی نداره و خطا هستش
MFiRE
سه شنبه 13 آذر 1386, 02:10 صبح
به نظر من بلندگو تو خاموش کن مشکل حله !!!!!!!!
هیچ صدایی نمی شنویی ...
شوخی کردم جدی نگیرید .
Hossein Bazyan
سه شنبه 13 آذر 1386, 11:56 صبح
سلام
من در برنامه هام همیشه از این تکه کد خودم استفاده میکنم و مشکلی هم پیش نیومده و خوب هم کار میکنه .
( من همیشه در وی بی 6 Textbox ها را به شکل آرایه تعریف میکنم که کار را راحت تر میکنه شما میتوانید آرایه تعریف کنید یا خیر)
Private Sub txtNewKlant_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
txtNewKlant(Index + 1).SetFocus ' Next text box
End If
End Sub
DoctorJay
سه شنبه 13 آذر 1386, 13:29 عصر
جواب دوستان همه درسته , حالا مال منو هم داشته باشی بیضرر نیست :
"اندیس ها باید از 1 شروع بشن"
اینجا Name تکستها TEXT میباشد
' DoctorJay ---------------------------------------------------------------------------------
Private Sub Text_KeyPress(Index As Integer, KeyAscii As Integer)
If Index = تعداد اندیس Then Index = 0
If KeyAscii = 13 Then Text(Index + 1).SetFocus
End Sub
' DoctorJay --------------------------------------------------------------------------------
Hossein Bazyan
سه شنبه 13 آذر 1386, 13:47 عصر
جواب دوستان همه درسته , حالا مال منو هم داشته باشی بیضرر نیست :
"اندیس ها باید از 1 شروع بشن"
اینجا Name تکستها TEXT میباشد
' DoctorJay ----
Private Sub Text_KeyPress(Index As Integer, KeyAscii As Integer)
If Index = تعداد اندیس Then Index = 0
If KeyAscii = 13 Then Text(Index + 1).SetFocus
End Sub
' DoctorJay ---------
سلام
به این شکل قشنگتر و خواناتر نیست ؟
DoctorJay
سه شنبه 13 آذر 1386, 15:08 عصر
کاملا حق با شماست .... ولی هنوز نمی دونم اینو چجوری باید اضافه کنم ... بگی ممنون میشم
Hossein Bazyan
سه شنبه 13 آذر 1386, 16:12 عصر
کاملا حق با شماست .... ولی هنوز نمی دونم اینو چجوری باید اضافه کنم ... بگی ممنون میشم
سلام
برای نوشتن نقل قول از تگهای
نقل قول و برای نوشتن کد از تگهای
کد استفاده میشود. مانند عکس ضمیمه
DoctorJay
سه شنبه 13 آذر 1386, 22:23 عصر
از راهنماییتون خیلی خیلی ممنونم ... از این به بعد رعایت می کنم , ممنون که یادآوری کردین
من Browser ام Opera است , واسه همین آیکونهای ویراشم ToolTip ندارن ( این یه توجیه نبود )
---------------------------------------------------------------------------------------
تصور کن اگر قرار بود هر کس به اندازه ی دانش خود حرف بزند چه سکوتی بر دنیا حاکم میشد ... ..... ناپلئون
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.