السلام عليكم
عندي تيكست بوكس يسمح بكتابة الارقام فقط
لكن اذا ادخل المستخدم للبرنامج القيمة التالية مثلا 9999..99
هنا ادخل الفاصلة مرتان وعند حفظ القيمة في جدول البيانات ستظهر رسالة خطأ
اريد كود يعيد عدد مرات تكرار النقطة اذا كان اكبر من واحد تظهر رسالة
شكرا
الطلب الثاني لو سمحتم تعديل الكود التالي ليسمح بكتابة النقطة
If Not Char.IsNumber(e.KeyChar) And Not Char.IsControl(e.KeyChar) Then e.Handled = True
وعليكم السلام
الكود التالي لمنع كتابة اي شيء في التيكست بوكس باستثناء الارقام والفاصلة بنوعيها وطبعا انت تستطيع التعديل عليه ويجب ان يكون في حدث KEYPRESS
كود :
If (e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "," Then
e.Handled = True
End If
الكود التالي لمعرفة تكرار حرف معين وفي مثالي هذا معرفة تكرار الفاصلة . واذا كانت مكررة يعطي رسالة تنبيه
كود :
dim a as integer
For i As Integer = 0 To TextBox1.TextLength - 1
If TextBox1.Text.Chars(i) = "." Then
a += 1
End If
Next
If a > 2 Then
MsgBox("الفاصلة مكررة")
End If
شكرا جزيلا وفقك الله
ان اضع الكود التالي في Keypress
Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
If KeyAscii = 13 Then
Button7.Focus()
End If
وعندما قمت بلصق الكود الذي اعطيتني اياه تحته ظهر خط احمر تحت حرف e
فقمت بوضع الكود الذي اعطيتني اياه مشكرا في TextChanged
هل يمكن جمع الكودين معا
شكرا وفقك الله
انا لم اعطك كود واحد بل كودين
الكود الاول يجب ان يكون في الحدث keypress
اما الكود الثاني فضعه في الحدث الذي تراه انت مناسبا انا من رأيي ضعه في حدث فقدان التركيزlostfocus
تمام استاذي لكني استخدم Keypress مسبقا وقد وضعت فيه الكود
Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
If KeyAscii = 13 Then
Button7.Focus()
End If
وظيفته الانتقال لخانة اخرى عند الضغط على زر الانتر
وبعد اضافة كودك اول اصبح الكود الكامل في Keypress
Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
If KeyAscii = 13 Then
Button7.Focus()
End If
If (e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "," Then
e.Handled = True
End If
عندها ظهر الخطأ
انا جربت ان اضع كودي وكودك في نفس الحدث مع تعديل بسيط على كودك ونجح الامر بدون مشاكل
كود :
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
If (e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "," Then
e.Handled = True
End If
Dim KeyAscii As Short = Asc(e.KeyChar)
If KeyAscii = 13 Then
Button1.Focus()
End If
End Sub
تمام وفقك الله وزادك الله علما
اهلا وسهلا ... على الرحب والسعة