سلام دوستان من میخوام وقت اجرا فقط داخل textbox عدد تایپ بشه اگه ممکنه کمکم کنین
مرسی
Printable View
سلام دوستان من میخوام وقت اجرا فقط داخل textbox عدد تایپ بشه اگه ممکنه کمکم کنین
مرسی
اين واسه کليدهاي ماشين حسابي واسه باقيا هم خودت زحمتش رو بکش :
کد:Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If Not (e.KeyCode >= Keys.NumPad0 And e.KeyCode <= Keys.NumPad9) Then e.SuppressKeyPress = True
End Sub
خيلي تايپيك در اين باره هست سرچ كن
ميتوني كد زير رو در رويداد TextChanged تكست باكست قرار بدي
If IsNumeric(TextBox1.Text) = False Then
TextBox1.Text = ""
End If
يا كد زير رو در رويداد Keypress تكست باكست قرار بده
If Not (e.KeyChar >= "0" And e.KeyChar <= "9" Or e.KeyChar = vbBack) Then
e.Handled = True
End If
توضيح اينكه اين كد باعث ميشه كه تكست باكست فقط در مقابل اعداد و كليد Backspace واكنش نشون بده
واگر كليدي غير از اينا زده بشه E.handle برابر ture ميشه كه ميتوني هر كليدي رو كه خاستي بهش اضافه كني مثلا كد زير علاوه بر اعداد حرف m هم ميگيره
If Not (e.KeyChar >= "0" And e.KeyChar <= "9" Or e.KeyChar = vbBack Or e.KeyChar = "m") Then
e.Handled = True
End If
void tb_textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar))
e.Handled = false;
else
e.Handled = true;
}