Winform原生DataGridView右键删除行

private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        var hti = dataGridView1.HitTest(e.X, e.Y);
        if (hti.RowIndex >= 0)
        {
            dataGridView1.ClearSelection();
            dataGridView1.Rows[hti.RowIndex].Selected = true;
        }
    }
}

private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow row in dataGridView1.SelectedRows)
    {
        dataGridView1.Rows.RemoveAt(row.Index);
    }
}

在上面的代码中,dataGridView1_MouseDown 方法检测鼠标右键单击事件并确定被单击的行。如果有行被单击,则设置该行为选定状态。当用户单击 "删除" 上下文菜单项时,deleteToolStripMenuItem_Click 方法删除选定的行。

posted on 2023-03-23 13:28  挖穿地球😁  阅读(671)  评论(0)    收藏  举报