13-12-19, 12:02 PM
نعم شوف الكود بعد التعديل وراح تفهم القصد
كود :
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
DataGridView1.AllowDrop = True
End Sub
Private CR As Integer, CC As Integer, CV As Object
Private Sub DataGridView1_DragOver(ByVal sender As Object, ByVal e As DragEventArgs) Handles DataGridView1.DragOver
e.Effect = DragDropEffects.Move
End Sub
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
DataGridView1.Item(CC, CR).Style.BackColor = Color.White
MsgBox("تم سحب القيمة من العمود : " & CC + 1 & vbNewLine & "و الصف : " & CR + 1)
CR = hit.RowIndex : If CR < 0 Then Exit Sub
CC = hit.ColumnIndex : If CC < 0 Then Exit Sub
DataGridView1.Item(CC, CR).Value = CV
DataGridView1.Item(CC, CR).Style.BackColor = Color.Brown
MsgBox("تم الاسقاط على العمود : " & CC + 1 & vbNewLine & " والصف : " & CR + 1)
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
