PDA

View Full Version : جلوگیری از ورود داده تکراری



soroush06
شنبه 05 آذر 1390, 11:57 صبح
من میخوام تو textbox که عدد تکراری می زنم پیغام بده و اجازه این کار را بهم نده .
کسی میدونه باید چکار کرد .
visual studio 2008 , C sharp

reza_majid68
شنبه 05 آذر 1390, 13:22 عصر
منظورت رو واضح بگو . یعنی چجوری ؟
عدد در دیتا بیس ذخیره میشه یا فقط مخوای نشه عدد تکراری توی texbox وارد کرد ؟

mmd2009
شنبه 05 آذر 1390, 13:38 عصر
با سلام

اگر منظورتون اینه که تکست باکس شما فقط اعداد بین 0 تا 9 غیر تکراری رو بپذیره این کد رو برات نوشتم که اینکارو میکنه



private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !Char.IsDigit(e.KeyChar) || textBox1.Text.Contains(e.KeyChar);
}


موفق باشید

amazon2
شنبه 05 آذر 1390, 15:49 عصر
با سلام

اگر منظورتون اینه که تکست باکس شما فقط اعداد بین 0 تا 9 غیر تکراری رو بپذیره این کد رو برات نوشتم که اینکارو میکنه



private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !Char.IsDigit(e.KeyChar) || textBox1.Text.Contains(e.KeyChar);
}


موفق باشید

میشه یه توضیح درباره این کد بدین؟:کف:

mmd2009
شنبه 05 آذر 1390, 16:12 عصر
ببینید شما در حالت زیر نمیتونید با کیبورد مطلبی رو وارد تکست باکس بکنید :


private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}


پس با در نظر گرفتن شراط بالا ما 2 عامل رو باید در نظر بگیریم یکی که اگر مقدار کاراکترمون عدد صحیح نباشه که باید e.Handled رو true بکنید یا اگر کاراکترمون عدد باشه و تکراری باشه در اون شرایط هم باید e.Handled رو true بکنیم پس با در نظر گرفتن اینها به راحتی با یک کد ساده میگیم زمانی که هر دو عامل برقرار نبودن یعنی هر دو False بودن کاراکتر رو درون تکست باکس اعمال کن.

موفق باشید