توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزشي: چگونگی تایپ فقط عدد در تکس باکس
میثم مقدم نیا
2018/08/05, 09:20
برای این کافی است که در قسمت کدینگ تکس باکس کد زیر را وارد کنید
خواهید دید که بغییر از عدد چیز دیگری تایپ نمیشود
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii > Asc("9") Or KeyAscii < Asc("0") Then
If KeyAscii = Asc("-") Then
If InStr(1, Me.TextBox1.Text, "-") > 0 Or _
Me.TextBox1.SelStart > 0 Then KeyAscii = 0
ElseIf KeyAscii = Asc(".") Then
If InStr(1, Me.TextBox1.Text, ".") > 0 Then KeyAscii = 0
Else
KeyAscii = 0
End If
End If
End Sub
برای این کافی است که در قسمت کدینگ تکس باکس کد زیر را وارد کنید
خواهید دید که بغییر از عدد چیز دیگری تایپ نمیشود
ممنون فقط یه مسئله من تو یه فایل 16 textbox دارم که همه شون هم این شرط رو لازم دارن ولی اگه بخوام دونه دونه کد رو برای همه شون بنویسم وقت گیره آیا امکانش هست با یه حلقه کد رو بنویسیم؟
Amir Ghasemiyan
2018/08/13, 09:08
ممنون فقط یه مسئله من تو یه فایل 16 textbox دارم که همه شون هم این شرط رو لازم دارن ولی اگه بخوام دونه دونه کد رو برای همه شون بنویسم وقت گیره آیا امکانش هست با یه حلقه کد رو بنویسیم؟
شما ميتونيد يك فانكشن تعريف كنيد و كدهايي كه دوستمون گفتن رو اونجا قرار بديد. به اين كدها توجه كنيد:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
OnlyNumber KeyAscii, Me.TextBox1
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
OnlyNumber KeyAscii, Me.TextBox2
End Sub
Function OnlyNumber(key As MSForms.ReturnInteger, tb As MSForms.TextBox)
If key > Asc("9") Or key < Asc("0") Then
If key = Asc("-") Then
If InStr(1, tb.Text, "-") > 0 Or _
tb.SelStart > 0 Then key = 0
ElseIf key = Asc(".") Then
If InStr(1, tb.Text, ".") > 0 Then key = 0
Else
key = 0
End If
End If
End Function
شما ميتونيد يك فانكشن تعريف كنيد و كدهايي كه دوستمون گفتن رو اونجا قرار بديد. به اين كدها توجه كنيد:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
OnlyNumber KeyAscii, Me.TextBox1
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
OnlyNumber KeyAscii, Me.TextBox2
End Sub
Function OnlyNumber(key As MSForms.ReturnInteger, tb As MSForms.TextBox)
If key > Asc("9") Or key < Asc("0") Then
If key = Asc("-") Then
If InStr(1, tb.Text, "-") > 0 Or _
tb.SelStart > 0 Then key = 0
ElseIf key = Asc(".") Then
If InStr(1, tb.Text, ".") > 0 Then key = 0
Else
key = 0
End If
End If
End Function
ممنون فقط سوال من یه ذره فرق داشت چیزی که من سعی دارم بپرسم اینه که چطور میشه یک کد ثابت رو برای چندین textbox یا label یا combobox بدون احتیاج به تایپ تکراری برای هر کدام (هر چند تا که باشد ) با حلقه نوشت
بعنوان مثال امکان داره نیاز باشه توی باز کردن یک فرم ابتدا هر مثلآ 30 textbox مقادیرش خالی بشه
Amir Ghasemiyan
2018/08/14, 09:24
ممنون فقط سوال من یه ذره فرق داشت چیزی که من سعی دارم بپرسم اینه که چطور میشه یک کد ثابت رو برای چندین textbox یا label یا combobox بدون احتیاج به تایپ تکراری برای هر کدام (هر چند تا که باشد ) با حلقه نوشت
بعنوان مثال امکان داره نیاز باشه توی باز کردن یک فرم ابتدا هر مثلآ 30 textbox مقادیرش خالی بشه
بعيد ميدونم همچين امكاني وجود داشته باشه اما بررسي ميكنم اگر راهي پيدا كردم همينجا به اشتراك ميذارم
vBulletin® v4.2.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.