السلام عليكم ورحمة الله
احتجت خلال بعض برامجي منع المستخدم من ادخال قيم غير عددية ، ووجدت ضالتي في 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

