السلام عليكم
اصدقائي الاعزاء
ارجوا المساعدة في حل هذه المشكلة
اريد منع المستخدم من كتابة حروف في العمود الاول من الاداة datagrideview
وفي نفس الوقت العمود الثالث يكتب ارقام مع اخذ موضوع لافاصلة بعين الاعتبار بمعني يمكنة اضافة النقطة الخاصة بالكسور العسشرية
ومنع تكرار كتابة هذه الفاصلة اكثر من مرة
حاولت بكل ما اوتيت من قوة لم اصل الى حل
ارجوا المساعده ,
وشكرا للجميع
لا اخي موصعب
عليك اولا ان تعطي قيمة رقم العمود بالداتا غريد للافتة او ضعها بمتغير عمومي
اي عند الضغط على احدى خلايا الداتا غريد تاخذ اللافتة رقم العمود
وبعدها هذا الكود لكن هذا الكود للارقام فقط
بالتوفيق
كود :
_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
اشكرك على الاجابة
كل ما كتبته انا طبقته سابقا وما في مشكلة بس موضوع اني امنع المستخدم من كتابة النقطة مرتين ما زبطش معي
ارجو المساعده يا شباب مين عنده فكره عن الموضوع
[
attachment=16466]
dgv1 اسم الاداة
dgv1.currentcell.columninde =2 ارقام العمود
بوضع ده هي تسمح بالحروف فقط
لو عاوزها تسمح بالارقام فقط احذف كلمة not امام الجملة
if not(123456789.).indexof
اشكرك على الاجابة
سؤالي اخي الفاضل ليس منع الكتابة بالارقام او الحروف
انا اسمح للخلية تكتب ارقام وفواصل عشرية وفي هذه الحالة لوكتب المستخجم 100 مرةفاصلة عشرية بيقبلها الببرنامح
اريد ان امنعه من كتابتها اكثر من مرة
(23-12-17, 12:05 AM)nooralcown كتب : [ -> ]اشكرك على الاجابة
سؤالي اخي الفاضل ليس منع الكتابة بالارقام او الحروف
انا اسمح للخلية تكتب ارقام وفواصل عشرية وفي هذه الحالة لوكتب المستخجم 100 مرةفاصلة عشرية بيقبلها الببرنامح
اريد ان امنعه من كتابتها اكثر من مرة
يا أخي ليش متعب نفسك
الحقل أو الخلية الخاصة بالداتا قريد فيو لها خصائص
DefaultCellStyle -> Format -> N3
N يعني رقم
والرقم الي جنبها يعني عدد الأرقام العشرية بعد الباصلة
ولن تقبل الخلية غير هذا الـ Format
وقم بإصطياد الأخطاء الخاصة بالداتا قريد فيو
[attachment=16473]
خل المستخدم يحط مليون فاصلة
لا تهتم كثير لهذة التفاصيل