الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

منع المستخدم من ادخال قيم غير عددية

مغلق
بدأه صاحب همة في 11 مارس 2006 · 3 رد · 609 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

احتجت خلال بعض برامجي منع المستخدم من ادخال قيم غير عددية ، ووجدت ضالتي في MSDN ورأيت أن أنقله هنا للفائدة

وهو يتكون من حثين متعلقين بالكنترول الذي نريد فيه تحقيق المنع.

private void txtLower_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
  {
 	 // هذا المتغير bool يتم تعريفه على مستوى الفورم ويتم اعطاء قيمة مبدئية له هنا
 	 nonNumberEnteredL = false;

 	 // فحص ما اذا كان المفتاح من الأرقام العلوية في الكيبورد
 	 if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
 	 {
    // فحص ما ذا كان المفتاح من الرقام الجانبية
    if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
    {
   	 // فحص ما اذا كان المفتاح هو backspace.
   	 if(e.KeyCode != Keys.Back)
   	 {
      
      nonNumberEnteredL= true;
   	 }
    }
 	 }
  }

الآن الجزء الثاني الذي يتم فيه اخذ قيمة المفتاح او رفضه

private void txtLower_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
  {
 	 // التاكد من قيمة المتغير.
 	 if (nonNumberEnteredL == true)
 	 {
    // handle يكون فقط اذا كانت قيمة النتغير true
    e.Handled = true;
 	 }
  }

وبالتوفيق ... :D

من لمح فجر الأجر هان عليه ظلام التكليف

#3

أعتقد أن استخدام الدوال الـ static الموجوده في char أفضل بكثير بجانب أنها غير مرتبطه لا بلغه ولا Culture معين بالاضافه أننا سنتعامل مع حدث KeyPress فقط :unsure: :

if(!Char.IsNumber(e.KeyChar))
{
e.Handled = true;
}

ويمكن استخدام IsDigit أو IsLetter أو الخ لمعرفة نوعية المدخلات على حسب ما ينفعنا.

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

هذا الموضوع مغلق.

مواضيع مشابهة