السلام علكيم
ممكن من الإخوة الكرام شرح الكود التالي
كود :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Select Case e.KeyChar
Case ChrW(8)
Case ChrW(46)
e.KeyChar = ChrW(44)
Case ChrW(44), ChrW(48) To ChrW(58)
Case Else
e.KeyChar = ChrW(0)
Beep()
End Select
الكود يضمن ان الستخدم لن يدخل الا ارقام او الرمز , فقط
e.KeyChar قيمة من نوع حرف char يمثل الزر الذي ضغط عليه المستخدم
Select case نخبر البرنامج ماذا يفعل بناء على قيمة الزر المضغوط
ChrW دالة تعود بحرف بناء على كود الاسكيي الخاص
قائمة الاسكي كاملة من هنا :
http://www.asciitable.com/
هو زر backspace نخبره ان لايفعل شيء اذا تم ضغط هذا الزر
ChrW(48) To ChrW(58) هو الارقام من 0 الى 9 ، لايفعل شيء ايضا لانه رقم ، وكذلك بالنسبة ل
ChrW(44) وهو الفاصلة
ChrW(46) هو النقطة ، نخبره بان يدخل فاصلة بدلا منها
اذا كان المدخل غير ذلك لايضغط على شيء
ChrW(0) تمثل Null وكذلك يصدر صوت عن طريق Beep
كيف يمكني ان أطبق الكود على اكثر من textbox دفعة واحدة ؟
(10-08-20, 02:08 AM)paveldida كتب : [ -> ]كيف يمكني ان أطبق الكود على اكثر من textbox دفعة واحدة ؟
اضف التكست بوكسات هنا بعد Handles :
كود :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress,TextBox2.KeyPress,TextBox3.KeyPress
(09-08-20, 08:31 PM)paveldida كتب : [ -> ]السلام علكيم
ممكن من الإخوة الكرام شرح الكود التالي
كود :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Select Case e.KeyChar
Case ChrW(8)
Case ChrW(46)
e.KeyChar = ChrW(44)
Case ChrW(44), ChrW(48) To ChrW(58)
Case Else
e.KeyChar = ChrW(0)
Beep()
End Select
لما استخدمت الكود وجدت انه بيبدل الفاصله الرقميه الحقيقيه بفاصله اخرى لا تصلح للعمليات الحسابيه فسببت عندي نتيجه خطا
ممكن اعرف السبب منشان استفيد؟
السلام عليكم ورحمة الله وبركاته
اولا يوجد خطأ وهو استبدال النقطة بالفاصلة وهذا غير صحيح في العمليات لبحسابية كما اشار اخي بلدي جزاه الله كل خير والمفروض العكس
ثانيا لاداعي ان نستبدل الفاصلة بالنقطة يكفي ان يكون الكود بهذا الشكل
كود :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Select Case e.KeyChar
Case ChrW(8)
Case ChrW(46), ChrW(48) To ChrW(58)
Case Else
e.KeyChar = ChrW(0)
Beep()
End Select
End Sub