PDA

View Full Version : سوال: پر شدن قسمتی ار Textbox



m.4.r.m
یک شنبه 01 مرداد 1391, 12:18 عصر
توی تکست باکس چه جوری میشه کاری کرد که مثلا وقتی فیلد موبایل رو میخوایم وارد کنید عدد 0914 به صورت ثابت در ابتدای تکست باکس قرار بگیره و کاربر نتونه پاک کنه منظورم لیبل نیست ها داخل خود تکست باکسه . ممنون

ali-a2
یک شنبه 01 مرداد 1391, 12:27 عصر
با سلام

راحــت ترین راه استفاده از MaskedBox هستش ، مشکلتون حل میشه ! کامپوننتش هست تو خود کامپوننت های Vb

Microsoft Masked Edit Control 6.0

موفق باشید .

mohammadriano
یک شنبه 01 مرداد 1391, 15:09 عصر
توی تکست باکس چه جوری میشه کاری کرد که مثلا وقتی فیلد موبایل رو میخوایم وارد کنید عدد 0914 به صورت ثابت در ابتدای تکست باکس قرار بگیره و کاربر نتونه پاک کنه منظورم لیبل نیست ها داخل خود تکست باکسه . ممنون
سلام 137 راه برای دور زدن مشکل شما هست
- یک label یا textxbox جدید قبل از textbox اصلی اظافه کنید
- می تونید در change شدن textbox از تابع mid استفاده کنید :
مثال برای حرف اول textbox

if mid(text1.text,1,1) <> 0 then text1.text = 0

محسن واژدی
یک شنبه 01 مرداد 1391, 17:30 عصر
سلام علیکم
تابع زیر را هم بررسی کنید:
Public Function ValidateTextBox(tTextBox As TextBox) As Boolean
Const sConstStr$ = "0914"
Dim iLCS%
iLCS% = Len(sConstStr$)
ValidateTextBox = True
With tTextBox
If Not Left(.Text, iLCS%) = sConstStr$ Then
.Text = sConstStr$ & Mid(.Text, iLCS% + 1)
.SelStart = iLCS%
ValidateTextBox = False
End If
'If .SelStart < iLCS% Then .SetFocus: .SelStart = iLCS%
End With
End Function

برای مثال:
Private Sub Text1_Change()
ValidateTextBox Text1
End Sub

موفق باشید

arenaw
دوشنبه 02 مرداد 1391, 04:29 صبح
سلام
این رو امتحان کن:

Private Sub Text1_Change()
If Not Mid(Text1, 1, 4) Like "0914" Then Text1 = "0914": Text1.SelStart = Len(Text1)
End Sub

m.4.r.m
دوشنبه 02 مرداد 1391, 04:48 صبح
سلام
این رو امتحان کن:

Private Sub Text1_Change()
If Not Mid(Text1, 1, 4) Like "0914" Then Text1 = "0914": Text1.SelStart = Len(Text1)
End Sub



ممنون از همتون اینم کار کرد مرسی