如何拖动DataGridView的行代码
时间: 2024-05-02 12:20:10 浏览: 14
以下是示例代码:
```
private int rowIndexFromMouseDown;
private DataGridViewRow draggingRow;
private void dataGridView1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
// Get the index of the row to drag
int rowIndex = dataGridView1.HitTest(e.X, e.Y).RowIndex;
if (rowIndex >= 0 && rowIndex != rowIndexFromMouseDown)
{
// Start a drag
draggingRow = dataGridView1.Rows[rowIndex];
dataGridView1.DoDragDrop(draggingRow, DragDropEffects.Move);
}
}
}
private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
// Record the index of the row to drag
rowIndexFromMouseDown = dataGridView1.HitTest(e.X, e.Y).RowIndex;
}
private void dataGridView1_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void dataGridView1_DragDrop(object sender, DragEventArgs e)
{
// Get the destination row index
int rowIndexToDrop = dataGridView1.HitTest(e.X, e.Y).RowIndex;
// Move the row
dataGridView1.Rows.RemoveAt(rowIndexFromMouseDown);
dataGridView1.Rows.Insert(rowIndexToDrop, draggingRow);
}
```