PDA

View Full Version : اعتبارسنجي



JAMAL_7128
شنبه 19 مرداد 1387, 10:17 صبح
از كد زير براي محدود كردن تكست باكس به اينكه هم فقط عدد بگيرد(اعشاري) و هم حداكثر 6 رقمي باشد استفاده مي كنم ولي كار نمي دهد :

if (!(char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar)) || (e.KeyChar == (char)47) || (textBox1.Text.Trim().Length < 7))
{
e.Handled = true;
}
لطفا راهنمايي كنيد.:متفکر:

regbyte
شنبه 19 مرداد 1387, 11:06 صبح
textBox1.MaxLength = 6;
if (!(char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar) || (e.KeyChar == (char)47)))
{
e.Handled = true;
}

البته باید چک کنی فقط یک ممیز وارد شود (در آخر و اول عدد هم اگر بود تغییرات لازم را انجام بدی)

h.jaza
شنبه 19 مرداد 1387, 11:16 صبح
اگر اینجوری بنویسی، کار می ده




//In KeyPress
If(textBox1.Text.Trim().Length < 7) && char.IsNumber(e.KeyChar) && (e.KeyChar != "."))
{
e.Handled = true;
}

البته خیلی خیلی ساده تره که از MaskedTestBox استفاده کنی و خصوصیت Mask اونو رویه اولا Number، ثانیا اعشاری و ثالثا با طول 6 کاراکتر قرار بدی.
اینجوری نیاز به این کد ها هم نداری. البته یه جورایی محدودیت وسط پیش می یاد.

ASKaffash
شنبه 19 مرداد 1387, 13:43 عصر
باسلام
ولی بهتراست از کنترل MaskedTextBox استفاده کنید تا اینکه KeyPress را مدیریت کنید