07-02-21, 02:42 AM
(آخر تعديل لهذه المشاركة : 07-02-21, 02:43 AM {2} بواسطة ابراهيم ايبو.)
السلام عليكم اخي الكريم
ليست المشكلة في الكود ولكن في الحدث المناسب لما تريد
لانك ستقوم بالضغط على اي خلية من عمود التشك بوكس وستتغير القيمة بنقرة واحدة
ولم اجد حدثا مناسبا يؤدي خلال النقر الى تغيير القيمة مع كود التحقق
كتبت لك هذا الكود في حدث DataGridView1_CellValueChanged اي انك ستقوم بتغيير القيمة ثم اما ان تضغط مفتاح انتر او تضغط على Tab ليتم تنفيذ الكود
ضع رقم او اسم العمود الذي هو من نوع CheckBox وفق ماهو مكتوب بالكود
ليست المشكلة في الكود ولكن في الحدث المناسب لما تريد
لانك ستقوم بالضغط على اي خلية من عمود التشك بوكس وستتغير القيمة بنقرة واحدة
ولم اجد حدثا مناسبا يؤدي خلال النقر الى تغيير القيمة مع كود التحقق
كتبت لك هذا الكود في حدث DataGridView1_CellValueChanged اي انك ستقوم بتغيير القيمة ثم اما ان تضغط مفتاح انتر او تضغط على Tab ليتم تنفيذ الكود
ضع رقم او اسم العمود الذي هو من نوع CheckBox وفق ماهو مكتوب بالكود
كود :
Private Sub DataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
' تعريف متغير من نوع بوليان
Dim chk As Boolean = True
' التاكد من ان الداتاغرايد ليست فارغة تلافيا لاي خطأ
If DataGridView1.Rows.Count > 0 Then
If DataGridView1.CurrentRow.Cells("اسم او رقم العمودالذي فيه التشك بوكس").Selected = True Then
' المرور على الصفوف وعندما يجد اول فولس يغير قيمة المتغير الى فولس وسيخرج من حلقة الدوران
For i As Integer = 0 To DataGridView1.Rows.Count - 1
If DataGridView1.Rows(i).Cells("اسم او رقم العمودالذي فيه التشك بوكس").Value = False Then
chk = False
Exit For
End If
Next
' جعل قيمة التشك بوكس الرئيسي بنفس قيمة المتغير اكان ترو ام فولس
CheckBox1.Checked = chk
End If
End If
End Subاعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
