PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزشي: چگونگی تایپ فقط عدد در تکس باکس



میثم مقدم نیا
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

كامران
2018/08/05, 19:19
برای این کافی است که در قسمت کدینگ تکس باکس کد زیر را وارد کنید
خواهید دید که بغییر از عدد چیز دیگری تایپ نمیشود

ممنون فقط یه مسئله من تو یه فایل 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

كامران
2018/08/13, 13:14
شما ميتونيد يك فانكشن تعريف كنيد و كدهايي كه دوستمون گفتن رو اونجا قرار بديد. به اين كدها توجه كنيد:



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 مقادیرش خالی بشه

بعيد ميدونم همچين امكاني وجود داشته باشه اما بررسي ميكنم اگر راهي پيدا كردم همينجا به اشتراك ميذارم