PDA

View Full Version : عوض شدن خودکار فکوس



Mohamad ghorbani
شنبه 26 آذر 1390, 18:45 عصر
سلام
من توی برنامم می خوام وقتی که 5 تا کاراکتر توی تکس باکس وارد شد، خودکار فوکوس عوض شه و بره توی تکس باکس بعدی.

با تشکر

vb6_man
شنبه 26 آذر 1390, 18:51 عصر
if len(text1.text)>=5 then
text1.text=mid(text1.text,1,5)
Text2.Setfocus
end if

sr2m72
شنبه 26 آذر 1390, 18:56 عصر
سلام
من توی برنامم می خوام وقتی که 5 تا کاراکتر توی تکس باکس وارد شد، خودکار فوکوس عوض شه و بره توی تکس باکس بعدی.

با تشکر

با این می تونی.


Dim i As Integer
Private Sub Text1_Change()
i = i + 1
If i = 5 Then Text2.SetFocus
End Sub

vb6_man
شنبه 26 آذر 1390, 19:01 عصر
کد شما کاملا اشتباهه
چون اگه ما یه past کنیم ( چند کاراکتر)
کار نمی کنه!:قلب:

Mr'Jamshidy
شنبه 26 آذر 1390, 19:37 عصر
با این می تونی.


Dim i As Integer
Private Sub Text1_Change()
i = i + 1
If i = 5 Then Text2.SetFocus
End Sub



کد شما کاملا اشتباهه
چون اگه ما یه past کنیم ( چند کاراکتر)
کار نمی کنه!:قلب:

غیر از اون اگر کاراکتری که نوشتیم هم پاک کنیم بازم برامون کاراکتر میندازه

M.T.P
شنبه 26 آذر 1390, 21:14 عصر
Private Sub Text1_Change()
Call LimitTextBox(Text1)
End Sub

Private Sub Text2_Change()
Call LimitTextBox(Text2)
End Sub

Sub LimitTextBox(CText As TextBox)
If Len(CText.Text) > 5 Then
CText.Text = Left(CText.Text, 5)
SendKeys "{TAB}"
End If
End Sub

Mr'Jamshidy
یک شنبه 27 آذر 1390, 07:35 صبح
بابا چرا لقمه رو میچرخونید دور سرتون

Private Sub Form_Load()
Text1.MaxLength = 5
End Sub

Private Sub Text1_Change()
If Len(Text1.Text) >= 5 Then
'JumpCode
End If
End Sub

بجای JumpCode کد خودت رو جایگزین کن
مثلا:
Text2.SetFocus
یا
SendKeys "{Tab}"
یا هر چیز دیگه ای

vb6_man
یک شنبه 27 آذر 1390, 08:46 صبح
بابا چرا لقمه رو میچرخونید دور سرتون

Private Sub Form_Load()
Text1.MaxLength = 5
End Sub

Private Sub Text1_Change()
If Len(Text1.Text) >= 5 Then
'JumpCode
End If
End Sub

بجای JumpCode کد خودت رو جایگزین کن
مثلا:
Text2.SetFocus
یا
SendKeys "{Tab}"
یا هر چیز دیگه ای


کد شما هم ، همچین زیاد درست نیست
چون وقتی MaxLen برابر با 5 باشه
هیچوقت طول Text بیشتر از 5 نمی شه:قلب::بامزه:

mr-adler
یک شنبه 27 آذر 1390, 12:11 عصر
کد شما هم ، همچین زیاد درست نیست
چون وقتی MaxLen برابر با 5 باشه
هیچوقت طول Text بیشتر از 5 نمی شه:قلب::بامزه:
دقت کنید که نوشتن:

Len(Text1.Text) >= 5
یعنی علاوه بر بزرگتر از علامت مساوی هم استفاده کردن و به نظر من کد به درستی کار میکنه و کاملا درسته....
اگه علامت مساوی نبود میشد حرف شما .....

vb6_man
یک شنبه 27 آذر 1390, 12:15 عصر
کد شما هم ، همچین زیاد درست نیست

من نگفتم اشتباه که:شیطان:
رفتی کامپایل کردی بعد می گی به نظرم درسته؟:بامزه:
من منظورم این بود که وقتی گفتی Max=5 دیگه > نذار:قهقهه:
ولی کد کار می کنه:بوس:

mr-adler
یک شنبه 27 آذر 1390, 12:17 عصر
رفتی کامپایل کردی بعد می گی به نظرم درسته؟
کامپایل لازم نیست حتی اگه برنامه رو run هم کنیم جواب میده....:قلب:

ولی کد کار می کنه:بوس:
:چشمک:

vb6_man
یک شنبه 27 آذر 1390, 12:23 عصر
این دیگه در بد ترین حالتش بود
مثلا Class فرم وقتی کامپایل میشه تغییر می کنه
گفتی شاید MaxLen روش کار نکنه
پس یه تست بکنم که خیالم راحت باشه

:خجالت::بامزه:

آقا تو کونگ فو کاری، خطرناکی:گریه:
همون که تو می گی:افسرده:

Mr'Jamshidy
یک شنبه 27 آذر 1390, 17:53 عصر
ای بابا واسه یک >= چرا معامله رو بهم میریزی خوب علامت > رو حذفش کن