PDA

View Full Version : مبتدی: جلوگیری از تغییر Focus بر اساس تعداد کاراکتر وارد شده در TextBox



lonak_2006
چهارشنبه 10 آذر 1389, 17:40 عصر
باسلام
ببخشید من می خواستم ببینم چگونه می توانم برای تکس باکس محدودیت تعیین کنم به این صورت که وقتی در قسمت پراپرتیز برنامه محدودیت تعریف می کنیم که بیش از مثلا 8 کاراکتر کاربر حق ندارد وارد کند .
ولی من می خواهم محدودیتی تعریف کنم که اگر کاربر تا 8 کاراکتر مثلا عدد را وارد نکرده اجازه رفتن به خانه ی دیگر را نده.
ممنون می شم که راهنمایی بفرمایید باتشکر

Slytherin
چهارشنبه 10 آذر 1389, 18:17 عصر
باسلام
ببخشید من می خواستم ببینم چگونه می توانم برای تکس باکس محدودیت تعیین کنم به این صورت که وقتی در قسمت پراپرتیز برنامه محدودیت تعریف می کنیم که بیش از مثلا 8 کاراکتر کاربر حق ندارد وارد کند .
ولی من می خواهم محدودیتی تعریف کنم که اگر کاربر تا 8 کاراکتر مثلا عدد را وارد نکرده اجازه رفتن به خانه ی دیگر را نده.
ممنون می شم که راهنمایی بفرمایید باتشکر


If Len(Text1.Text) < 8 Then
MsgBox ("NO!")
Else
MsgBox ("OK!")
End If

lonak_2006
چهارشنبه 10 آذر 1389, 18:51 عصر
سلام
ممنون از راهنمایی شما
ولی قصد من در زمان TEXT1_CHANGEمی باشد . یعنی اگر من در قسمت MaxLength برای ورود کاراکتر عدد 8 را وارد کردم در زمان تایپ کردن اگر من به جای 8 رقم عدد 5 رقم عدد وارد کردم و خواستم به تکس باکس بعدی بروم به من هشدار بدهد که من 8 رقم عدد را باید وارد کنم تا MaxLength همانی باشد که تعریف کردیم
ممنون اگر راهنمایی بفرمایید

Slytherin
چهارشنبه 10 آذر 1389, 20:17 عصر
سلام
ممنون از راهنمایی شما
ولی قصد من در زمان TEXT1_CHANGEمی باشد . یعنی اگر من در قسمت MaxLength برای ورود کاراکتر عدد 8 را وارد کردم در زمان تایپ کردن اگر من به جای 8 رقم عدد 5 رقم عدد وارد کردم و خواستم به تکس باکس بعدی بروم به من هشدار بدهد که من 8 رقم عدد را باید وارد کنم تا MaxLength همانی باشد که تعریف کردیم
ممنون اگر راهنمایی بفرمایید


Private Sub Text1_LostFocus()
If Len(Text1.Text) = Text1.MaxLength Then
MsgBox ("OK!")
Else
MsgBox ("NO!")
End If
End Sub

xxxxx_xxxxx
چهارشنبه 10 آذر 1389, 22:07 عصر
سلام،
ضمن تعریف MaxLength می تونید از رویداد Validate استفاده کنید. رویداد Validate تا زمانی که شرط ما صدق نکنه، اجازه خروج Focus از TextBox رو نمیده:


Private Sub Text1_Validate(Cancel As Boolean)

If Len(Text1.Text) <> 8 Then Cancel = True

End Sub


موفق باشید/