منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
نرجع مرة ثانية , الاداة datagrideview ممنوع تكتب حروف بس في مشكلة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : نرجع مرة ثانية , الاداة datagrideview ممنوع تكتب حروف بس في مشكلة (/showthread.php?tid=23674)



نرجع مرة ثانية , الاداة datagrideview ممنوع تكتب حروف بس في مشكلة - nooralcown - 04-02-18

استعملت الكود التالي لمع الاداة من كتابة حروف والمشكلة اريده فقط عند تكرار المستخدم لكتابة الفاصلة العشرية  (.) ان يرفض البرنامج تكرارها في نفس الحقل  

مرفق الكود 


 Private Sub DataGridViewX1_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridViewX1.EditingControlShowing
        'منع كتابة حروف
        Dim txtEdit As TextBox = e.Control
        'remove any existing handler
        RemoveHandler txtEdit.KeyPress, AddressOf txtEdit_Keypress
        AddHandler txtEdit.KeyPress, AddressOf txtEdit_Keypress
      

    End Sub
  
    Private Sub txtEdit_Keypress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
        'هنا نسمح بكتابة ارقام فقط وحقول معينة بها فاصلة 
        Console.WriteLine("KeyPress " & e.KeyChar.ToString())
        'Test for numeric value or backspace in first column
        If DataGridView1.CurrentCell.ColumnIndex = 0 Then
            If IsNumeric(e.KeyChar.ToString()) _
            Or e.KeyChar = ChrW(Keys.Back) Then _
        '    Or e.KeyChar = "." Then
                Console.WriteLine("KeyPress number")
                e.Handled = False 'if numeric display 
            Else
                Console.WriteLine("Enter Numbers Only")
                e.Handled = True  'if non numeric don't display
            End If
        End If

        '***********************************************************

        If DataGridViewX1.CurrentCell.ColumnIndex = 2 Or DataGridViewX1.CurrentCell.ColumnIndex = 3 Or DataGridViewX1.CurrentCell.ColumnIndex = 4 Then

            '  If DataGridView1.CurrentCell.ColumnIndex = 0 Then
            If IsNumeric(e.KeyChar.ToString()) _
            Or e.KeyChar = ChrW(Keys.Back) _
            Or e.KeyChar = "." Then
                Console.WriteLine("KeyPress number")
                e.Handled = False 'if numeric display 
            Else
                Console.WriteLine("Enter Numbers Only")
                e.Handled = True  'if non numeric don't display
            End If
        End If

        '*-*-********************************************************

    End Sub


RE: نرجع مرة ثانية , الاداة datagrideview ممنوع تكتب حروف بس في مشكلة - طالب برمجة - 05-02-18

PHP كود :
Private Sub txtEdit_Keypress(ByVal sender As ObjectByVal e As System.Windows.Forms.KeyPressEventArgs)
    If e.KeyChar "." And sender.Text.Contains("."Then
        e
.Handled True
        
Exit Sub
    End 
If

    'هنا نسمح بكتابة ارقام فقط وحقول معينة بها فاصلة 
    Console.WriteLine("KeyPress " & e.KeyChar.ToString())
    '
Test for numeric value or backspace in first column
    
If DataGridViewX1.CurrentCell.ColumnIndex 0 Then
        
If IsNumeric(e.KeyChar.ToString()) _
        
Or e.KeyChar ChrW(Keys.Back_
        
Or e.KeyChar "." Then
            Console
.WriteLine("KeyPress number")
            e.Handled False 'if numeric display 
        Else
            Console.WriteLine("Enter Numbers Only")
            e.Handled = True  '
if non numeric don't display
        End If
    End If

    '
***********************************************************

    If DataGridViewX1.CurrentCell.ColumnIndex Or DataGridViewX1.CurrentCell.ColumnIndex Or DataGridViewX1.CurrentCell.ColumnIndex 4 Then

        
'  If DataGridView1.CurrentCell.ColumnIndex = 0 Then
        If IsNumeric(e.KeyChar.ToString()) _
        Or e.KeyChar = ChrW(Keys.Back) _
        Or e.KeyChar = "." Then
            Console.WriteLine("KeyPress number")
            e.Handled = False '
if numeric display 
        
Else
            Console.WriteLine("Enter Numbers Only")
            e.Handled True  'if non numeric don't display
        End 
If
    End If

    '*-*-********************************************************

End Sub 



RE: نرجع مرة ثانية , الاداة datagrideview ممنوع تكتب حروف بس في مشكلة - nooralcown - 05-02-18

اشكرك من كل قلبي  
بصراحة هذا المطلوب  
وتم حل المشكلة شكرا لك