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

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



كيف ألغي حدث عند تحقق شرط معين ؟؟ - rafaag777 - 09-02-15

ادرجت datagrideview
وعند تنفيذ الحدث التالي اريد من البرنامج ان لا ينفذه عند تحقق شرط معين ماهي الطريقة لذلك ؟ أرجو التوضيح
Private Sub DGVFamilies_RowEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DGVFamilies.RowEnter
     
         If Condition Then                                    
                      ' DGVFamilies.RowEnter الغي الحدث                                                       
  End If                                           

End Sub




RE: كيف ألغي حدث عند تحقق شرط معين ؟؟ - rafaag777 - 09-02-15

شكرا ameerah
ولكن اريد أن الغي تنفيذ الحدث نفسه
فمثلا المثال السابق ينفذ الحدث RowEnter عندما انتقل من سطر لسطر جديد في الجدول وانا لا اريد من المستخدم ان ينتقل إلى هذا السطر الجديد عند تحقق شرط معين ويبقى في السطر الحالي في الجدول

لمزيد من التوضيح الحدث التالي يتحقق عند ضغط أي زر من ازرار الكيبورد داخل صندوق نص
كود :
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
        e.Handled = True
    End Sub
ولكن بما اننا وضعنا e.Handled = True
فإنه سيتم تجاهل الحدث
وأريد مايشبه ذلك في الحدث RowEnter لـ DataGrideView


RE: كيف ألغي حدث عند تحقق شرط معين ؟؟ - rafaag777 - 11-02-15

ياشباب هل يوجد حل لمشكلتي ارجو ممن عنده اي فكرة التوضيح


RE: كيف ألغي حدث عند تحقق شرط معين ؟؟ - ربيع - 11-02-15

نحمده ونصلي على رسوله الكريم
استخدم removehandler لالغاء الحدث و addhandler لاضافة حدث
كود :
RemoveHandler DGVFamilies.RowEnter, AddressOf DGVFamilies_RowEnter



RE: كيف ألغي حدث عند تحقق شرط معين ؟؟ - rafaag777 - 16-02-15

اللهم صلي على سيدنا محمد وعلى آله وصحبه أجمعين
ماعم تفهمو علي
عندي المستخدم على سطر معين من سطور DataGridView وعند انتقاله إلى سطر معين يتم قراءة الشرط التالي:

كود :
Private Sub DGview_RowLeave(sender As Object, e As DataGridViewCellEventArgs) Handles DGview.RowLeave
     
       If Val(DGview.Item(e.ColumnIndex, e.RowIndex).Value) = 5 Then
           ' Dont Leave Raw
       Else
           ' Dont do anything (Leave)
       End If

   End Sub
ماذا أفعل حتى لا اسمح له بمغادرة السطر ويبقى على نفس السطر,
حتى لو أزلت الحدث سوف ينتقل إلى سطر جديد


RE: كيف ألغي حدث عند تحقق شرط معين ؟؟ - rafaag777 - 16-02-15

شكراً ameerah
هذا ما كنت أبحث عنه شـــــــــــــــــــــــــــــــــــــــــــــكــــــــــــــــــــراً.
ولكن استبدلت DGview_RowValidating بـ DGview_CellValidating
المهم وصلت الفكرة

ولكن ظهرت لي مشكلة أخرى
لدي قاعدة بيانات ds أحد جداولها مربوط بهذه DGview وعند إجراء أي تغيير لأحد سطورها , وعند الانتقال لسطر آخر لا يعطي الوسيط ds.HasChanges قيمة True أول مرة ولكن يعطيني هذه القيمة عند الانتقال لسطر آخر مرة ثانية
السؤال كيف لي ان احدث البيانات ليعطيني الوسيط ds.HasChanges القيمة True عند الانتقال لسطر جديد من أول مرة