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

كود ادخال أرقام فقط لا يعمل

بدأه iamsad في 27 مايو 2011 · 12 رد · 892 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

حصلت على هذا الكود

 If Not IsNumeric(e.KeyChar) Then
            e.Handled = True
        End If

والذي من المفترض فيه أن يمنع كتابة شيء غير الارقام داخل صندوق النص ولكنه لا يعمل أو أنني لم أعرف كيفية استخدامه علاوة على أني لم أفهمه رغم أنني بحثت عن الأمر في الـhelp إلا أنني لم أستطع فهم الكود

فأرجوالمساعدة

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#2

السلام عليكم ورحمه الله وبركاته

اخي جرب الكود التالي


Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not IsNumeric(e.KeyChar) Then
e.Handled = True
End If
End Sub

.:: Wish to become better and better ::.

#3

وعليكم السلام

مشكو ر أخي فقط نسيت أن أضع الكود في حدث الـ KEY PRESS جزاك الله خيرا

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#4

السلام عليكم ورحمه الله وبركاته

لاشكر على واجب ...

.:: Wish to become better and better ::.

#5

السلام عليكم

الكود السابق أخي يمنع إدخال أي شيء غير الأرقام ولكني أريد إدخال النقطة إضافة للأرقام فكيف أفعل ذلك ؟

لو شرحت لي الكود ربما أستطيع التوصل إلى شيء

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#6

غير الكود إلى

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        If Not Char.IsControl(e.KeyChar) Then
            If Not IsNumeric(e.KeyChar) Then
                If e.KeyChar = "."c Then
                    e.Handled = TextBox1.Text.Contains(".")
                Else
                    e.Handled = True
                End If
            End If
        End If
    End Sub

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#7

السلام عليكم ورحمه الله وبركاته

بالفعل كما ذكر الاخ GHOST2010 سيسمح لك الكود السابق بادخال نقطه واحده فقط, ويمكن برضه استخدام الكود التالي


Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not IsNumeric(e.KeyChar) AndAlso e.KeyChar <> Chr(8) Then
If e.KeyChar = "." Then
e.Handled = TextBox1.Text.IndexOf(".") + 1
Else
e.Handled = True
End If
End If
End Sub

طبعا سمحنا في الكود السابق بالتراجع ومسح اي رقم اذا اردنا

تم تعديل هذه المشاركة بواسطة VB Helper في 9 يونيو 2011 في 15:22

.:: Wish to become better and better ::.

#8

جزاكم الله كل خير ياإخوة حقيقة أنا تهت بين الكودين الكود الأول مفهوم بالنسبة لي أما الكود الثاني لم أستوعبه

فلو شرحت لي أخي vbhelper لم هذه الجملة

 e.KeyChar <> Chr(8) Then

وما ذا تفعل؟

كذلك الجملة

TextBox1.Text.IndexOf(".") + 1

وما ذا تفعل؟

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#9
 e.KeyChar <> Chr(8) Then

تعنى أن الزر المضغوط ليس BackSpace

e.Handled = TextBox1.Text.IndexOf(".") + 1

الدالة IndexOf تبحث عن نص داخل نص آخر وتعود بخانة بداية هذا النص إن وجد وإلا ستعود بالرقم -1 إن لم تجد النص الذى تبحث عنه

فمعنى الكود أن يتم البحث عن النقطة داخل مربع النص فإن وجدت فستكون القيمة الناتجة أكبر من أو يساوى صفر وبإضافة 1 إلى النتيجة ستكون النتيجة دائما أكبر من صفر أى تساوى True وإن لم يحتو مربع النص على النقطة ستكون النتيجة -1 وبإضافة 1 إليها ستصبح النتيجة صفر أى False

فاهم حاجة ؟!! :unsure:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#10

السلام عليكم ورحمه الله وبركاته

اخي سبقني الاخ GHOST2010 في الشرح والحمدلله كفى ووفى ..

.:: Wish to become better and better ::.

#11

وعليكم السلام

دعني أستوضح

الكود يقول

If e.KeyChar = "." Then

أي إذا كان الزر المضغوط "."

فماذا لو قلنا بعد ذلك

e.Handled = True

ما الخلل الذي سيحدث ؟

يا أهل سوريا اعلنوها خلافة اسلامية لتكون الشام عقر دار المسلمين وخلاص ارض فلسطين

#12

هذا يعنى أن مربع النص لن يقبل كتابة النقطة

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#13

السلام عليكم ورحمه الله وبركاته

اخي بالتأكيد سيلغي النقطة ..

1

.:: Wish to become better and better ::.

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