20-12-17, 11:49 AM
لا اخي موصعب
عليك اولا ان تعطي قيمة رقم العمود بالداتا غريد للافتة او ضعها بمتغير عمومي
اي عند الضغط على احدى خلايا الداتا غريد تاخذ اللافتة رقم العمود
وبعدها هذا الكود لكن هذا الكود للارقام فقط
بالتوفيق
عليك اولا ان تعطي قيمة رقم العمود بالداتا غريد للافتة او ضعها بمتغير عمومي
اي عند الضغط على احدى خلايا الداتا غريد تاخذ اللافتة رقم العمود
وبعدها هذا الكود لكن هذا الكود للارقام فقط
بالتوفيق
كود :
_Private Sub DataGridViewX1_EditingControlShowing(ByVal sender
As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridViewX1.EditingControlShowing
Dim TextEdit As TextBox = e.Control
RemoveHandler TextEdit.KeyPress, AddressOf TextBox_KeyPress_Number
AddHandler TextEdit.KeyPress, AddressOf TextBox_KeyPress_Number
End Sub
Public Sub TextBox_KeyPress_Number(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
'اجراء من اجل العمود لا يكتب الا ارقام
Dim KeyAscii As Short = Asc(e.KeyChar)
If Label7.Text = 1 Or Label7.Text = 2 Or Label7.Text = 3 Then
If KeyAscii = 8 Then KeyAscii = 8 : Exit Sub
If KeyAscii <= 47 Or KeyAscii > 57 Then KeyAscii = 0
If KeyAscii = 0 Then
e.Handled = True
End If
End If
End Sub
سبحان الله والحمد لله ولا اله الا الله والله اكبر
