الاخوة الكرام
كيف يمكنني ان أجعل مربع النص لا يستقبل إلا أرقام فقط
وعند محاولة كتابة نص يتم اظهار مربع نص فيه تعليمات بعدم ايتقبال الحروف
وذلك في visual studio 2010
باستخدام c#
الاخوة الكرام
كيف يمكنني ان أجعل مربع النص لا يستقبل إلا أرقام فقط
وعند محاولة كتابة نص يتم اظهار مربع نص فيه تعليمات بعدم ايتقبال الحروف
وذلك في visual studio 2010
باستخدام c#
عمر أبو معمر كتب:الاخوة الكرام
كيف يمكنني ان أجعل مربع النص لا يستقبل إلا أرقام فقط
وعند محاولة كتابة نص يتم اظهار مربع نص فيه تعليمات بعدم ايتقبال الحروف
وذلك في visual studio 2010
باستخدام c#
if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar))
{
e.Handled = true;
}هذا في visual studio 2008
اعتقد انه نفس الفكرة اما اذا اردت ان يظهر لك رسالة ان مربع النص لا يستقبل سوى ارقام تستطيع اضافة ليبل وتتحكم بالرسالة التي تريد اظهارها .
من تواضع لله رفعه
hussein2005 كتب:if (!char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)) { e.Handled = true; }هذا في visual studio 2008
اعتقد انه نفس الفكرة اما اذا اردت ان يظهر لك رسالة ان مربع النص لا يستقبل سوى ارقام تستطيع اضافة ليبل وتتحكم بالرسالة التي تريد اظهارها .
هل هذا بلغة c# برنامج فجيوال ستديو 2010
hussein2005 كتب:هذا بلغة (#C) برنامج فجوال ستوديو 2008
نعم أخي هذ الكود بالسي شارب وممكن كمان تكتب هذا الكود في حدث الكي برس للتيكست بوكس ويعطيك نفس النتيجة
private void txtNumber_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar >= 48 && e.KeyChar <= 57)
{
}
else if (e.KeyChar == 8)
{
}
else
e.KeyChar = (char)0;
MessageBox.Show("You have to write Numbers Only", "Errer",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
تم تعديل هذه المشاركة بواسطة essam_abboud في 16 نوفمبر 2011 في 08:47
hussein2005 كتب:هذا بلغة (#C) برنامج فجوال ستوديو 2008
private void txtNumber_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar >= 48 && e.KeyChar <= 57) { } else if (e.KeyChar == 8) { } else e.KeyChar = (char)0; MessageBox.Show("You have to write Numbers Only", "Errer",MessageBoxButtons.OK,MessageBoxIcon.Error); }
خطأ فى الكود
اخى يا ريت تحاول تفهم الكود التالى وهو يعمل بنسبه 100
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (!((e.KeyValue >= 48 && e.KeyValue <= 57) || (e.KeyValue >= 96 && e.KeyValue <= 105)))
{
MessageBox.Show("Error");
textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1, 1);
}
}السلام عليكم
اخي اليك الكود التالي وسأحاول انا اشرحه:
اولا وطبعا يجب وضع هذا الكود ضمن الحدث الخاص
private void txtBox_KeyPress(object sender, EventArgs e)
ثانيا الكود:
في السطر الاول نقوم بالتحقق عند الضغط على اي محرف ضمن المربع النصي من انه اما احد الارقام من 0-9
او هو المحرف الخاص بحذف حرف واحد تلو الاخر (back space)
والسطر الثاني في حال كان غير ذلك سيقوم بتجاهل الادخال
والسطر الثالث والاخير ومن ثم اظهار رسالة تحذير انه لا يمكن ادخال غير الرقام.
تم تعديل هذه المشاركة بواسطة mhdnour في 17 نوفمبر 2011 في 18:48
private void txtBox_KeyPress(object sender, KeyPressEventArgs e) {
if ((
!char.IsDigit(e.KeyChar)) // للأرقام 0-9
&
(e.KeyChar != '.') //. للعلامة العشرية
&
!(char.IsControl(e.KeyChar))) // للمسح BackSpace
e.Handled = true; // لا تكتب إلا أرقام
else
e.Handled = false; // يكتب ارقام
}على ما اعتقد افضل طريقة هى استخدام ال regular expression
مثال
using System.Text.RegularExpressions;
private void textBox1_TextChanged(object sender, EventArgs e)
{
Regex x = new Regex("^\\d*$");
if (!x.IsMatch(textBox1.Text))
{
MessageBox.Show("ادخل ارقام فقط");
textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1, 1);
}
}شرح هنا
مرفق برنامج للكود والتجربة
هذه الطريقة تعمل على كل اصدارت الفيجول استديوا الداعمة للدوت نت
تم تعديل هذه المشاركة بواسطة Black-Ghost في 14 يناير 2012 في 08:19
يمكن استخدام maskedTextBox
سبحانه الله وبحمده سبحانه الله العظيم
if (You Love ArabTeam2000 ) MessageBox.Show("All ArabTeam2000 Love You"); else MessageBox.Show("go to your mama"); المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…