ورود

View Full Version : سوال: سفارشی کردن textbox



pooya1072
جمعه 06 مرداد 1391, 13:06 عصر
سلام
من می خوام یک تکست باکس توی فرمم قرار بدم که شرایط زیر رو داشته باشه :
1-فقط عدد بگیره
2-در صورت خالی بودن تکست باکس مقدار صفر نمایش داده بشه
3-ورود اعداد اعشاری و منفی بدون مشکل انجام بشه

( شبیه تکست باکس ماشین حساب ویندوز)
ممنون از دوستان عزیز

mgh64120
جمعه 06 مرداد 1391, 13:22 عصر
سلام دوست عزيز
براي 1 و 3 :


Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not (((((Asc(e.KeyChar) >= 48) And (Asc(e.KeyChar) <= 57))) Or (Asc(e.KeyChar) = Keys.Back) Or (Asc(e.KeyChar) = Asc(".")) Or (Asc(e.KeyChar) = Asc("-")))) Then
e.KeyChar = String.Empty
End If
If Asc(e.KeyChar) = Asc(".") And InStr(TextBox1.Text, ".", CompareMethod.Binary) > 0 Then
e.KeyChar = String.Empty
Beep()
End If
If (Asc(e.KeyChar) = Asc("-") And ((InStr(TextBox1.Text, "-", CompareMethod.Binary) > 0) Or (TextBox1.SelectionStart <> 0))) Then
e.KeyChar = String.Empty
Beep()
End If
If (Asc(e.KeyChar) = Asc(".")) And TextBox1.Text = String.Empty Then
TextBox1.Text = "0" : TextBox1.SelectionStart = 1
End If
End Sub


و براي شماره 2 در رويداد TextChanged تكست باكست اين كد رو بزار :

If Trim(TextBox1.Text) = "" Then TextBox1.Text = "0"

موفق باشيد...

JaVa
جمعه 06 مرداد 1391, 13:26 عصر
1-فقط عدد بگیره
2-در صورت خالی بودن تکست باکس مقدار صفر نمایش داده بشه
3-ورود اعداد اعشاری و منفی بدون مشکل انجام بشه



Public Class Form1

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
'''فقط عدد می کیرد
e.Handled = Not (IsNumeric(e.KeyChar) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Or Asc(e.KeyChar) = 47)


End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
'''اگر تکس باکس خالی باشد صفر وارد می کنید
If TextBox1.Text.Length <= 0 Then
TextBox1.Text = 0
End If
End Sub
End Class

pooya1072
جمعه 06 مرداد 1391, 14:06 عصر
با تشکر از دوستان عزیز
یه مشکل مونده
وقتی در شروع کار عددی وارد می کنم صفر همچنان در اول اعداد ورودی قرار می گیره
0
01234
که در حقیقت باید چنین باشه :
1234

mgh64120
شنبه 07 مرداد 1391, 18:55 عصر
با تشکر از دوستان عزیز
یه مشکل مونده
وقتی در شروع کار عددی وارد می کنم صفر همچنان در اول اعداد ورودی قرار می گیره
0
01234
که در حقیقت باید چنین باشه :
1234

سلام دوست عزيز
از تابع Val استفاده كنيد. بدين صورت :
TextBox1.Text = Val(TextBox1.Text)
موفق باشيد...