12-12-19, 01:01 PM
السلام عليكم ورحمة الله وبركاته
السطر الموجود في حدث التحميل
لتمكين خاصية السحب والافلات للأداة
"""""""""""""""""""""""""""""""""""""""""""""""""
لديك ثلاث متغيرات
CR و CC متغيران رقميان الغرض منهما الحصول على رقم العمود والصف عند الضغط بزر الماوس على أي خلية
CV من نوع كائن هذا يأخذ القيمة الموجوده في الخلية التي تم ضغط الماوس عليها سواء نصية او رقمية او....الخ
""""""""""""""""""""""""""""""""""""""""""""""""
والكود التالي
هو حدث مرتبط بعملية السحب والافلات عند تحريك الماوس بالبيانات , يتم تغيير مؤشر الماوس بالشكل الذي تضعه ومثل ماتشوف الشكل السابق Move
"""""""""""""""""""""""""""""""""""""""""""""""
حدث الضغط بزر الماوس مع بعض الشروط ,, وهي عند الضغط بالماوس الحصول على النقطة التي تم الضغط عليها والوصول الى الخلية الموجوده في هذه النقطة واضافة رقم العمود الى المتغير CC ورقم الصف الى المتغير CR واضافة قيمة الخلية التي تم الضغط عليها للمتغير CV
""""""""""""""""""""""""""""""""""""""""""""""
واخيرآ هوا حدث السحب والافلات عند ترك زر الماوس يتم اخذ النقطة التي ترك فيها الزر ثم وضع القيمة السابقة وهي CV الى الخلية الجديده ,, ومسح بيانات الخلية التي رقم العمود فيها هو CC ورقم الصف فيها هوا CR لاننا قمنا بتحريك البيانات منها
ان شاء الله يكون الشرح مفهوم اخي؟
السطر الموجود في حدث التحميل
كود :
DataGridView1.AllowDrop = Trueلتمكين خاصية السحب والافلات للأداة
"""""""""""""""""""""""""""""""""""""""""""""""""
لديك ثلاث متغيرات
كود :
Private CR As Integer, CC As Integer, CV As ObjectCV من نوع كائن هذا يأخذ القيمة الموجوده في الخلية التي تم ضغط الماوس عليها سواء نصية او رقمية او....الخ
""""""""""""""""""""""""""""""""""""""""""""""""
والكود التالي
كود :
Private Sub DataGridView1_DragOver(ByVal sender As Ob ect, ByVal e As DragEventArgs) Handles DataGridView1.DragOver
e.Effect = DragDropEffects.Move
End Sub"""""""""""""""""""""""""""""""""""""""""""""""
كود :
Private Sub DataGridView1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles DataGridView1.MouseDown
Dim hit As DataGridView.HitTestInfo = DataGridView1.HitTest(e.X, e.Y)
CR = hit.RowIndex : If CR < 0 Then Exit Sub
CC = hit.ColumnIndex : If CC < 0 Then Exit Sub
CV = DataGridView1.Item(CC, CR).Value : If CV Is Nothing Then Exit Sub
DataGridView1.DoDragDrop(CV, DragDropEffects.Move)
End Subحدث الضغط بزر الماوس مع بعض الشروط ,, وهي عند الضغط بالماوس الحصول على النقطة التي تم الضغط عليها والوصول الى الخلية الموجوده في هذه النقطة واضافة رقم العمود الى المتغير CC ورقم الصف الى المتغير CR واضافة قيمة الخلية التي تم الضغط عليها للمتغير CV
""""""""""""""""""""""""""""""""""""""""""""""
كود :
Private Sub DataGridView1_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles DataGridView1.DragDrop
Dim ClientPoint As Point = DataGridView1.PointToClient(New Point(e.X, e.Y))
Dim hit As DataGridView.HitTestInfo = DataGridView1.HitTest(ClientPoint.X, ClientPoint.Y)
DataGridView1.Item(CC, CR).Value = Nothing
CR = hit.RowIndex : If CR < 0 Then Exit Sub
CC = hit.ColumnIndex : If CC < 0 Then Exit Sub
DataGridView1.Item(CC, CR).Value = CV
End Subان شاء الله يكون الشرح مفهوم اخي؟

