для тех, кому нужна версия c # с перетаскиванием
private Point MouseDownPos;
private void dataGridView1_MouseDown(System.Object sender, System.Windows.Forms.MouseEventArgs e)
{
MouseDownPos = e.Location;
}
private void dataGridView1_MouseMove(System.Object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
dynamic dx = e.X - MouseDownPos.X;
dynamic dy = e.Y - MouseDownPos.Y;
if (Math.Abs(dx) >= SystemInformation.DoubleClickSize.Width || Math.Abs(dy) >= SystemInformation.DoubleClickSize.Height)
{
DataGridView.HitTestInfo info = dataGridView1.HitTest(e.X, e.Y);
if (info.RowIndex >= 0)
{
DataRowView view = (DataRowView)
dataGridView1.Rows[info.RowIndex].DataBoundItem;
if (view != null)
dataGridView1.DoDragDrop(view, DragDropEffects.Move);
}
}
}
}