在C# Winform中,可以使用以下步骤来实现DataGridView右键删除行:
在DataGridView控件的ContextMenuStrip属性中设置一个右键菜单。
在右键菜单中添加一个“删除”菜单项。
为“删除”菜单项添加一个Click事件处理程序。
以下是使用上述步骤实现DataGridView右键删除行的示例代码:
// 设置DataGridView的ContextMenuStrip属性
dataGridView1.ContextMenuStrip = contextMenuStrip1;
// 添加“删除”菜单项
contextMenuStrip1.Items.Add("删除");
// 为“删除”菜单项添加Click事件处理程序
contextMenuStrip1.Items["删除"].Click += new EventHandler(dataGridView1_DeleteRow);
// 删除行
private void dataGridView1_DeleteRow(object sender, EventArgs e)
{
// 获取选中的行
DataGridViewRow selectedRow = dataGridView1.SelectedRows[0];
// 删除行
dataGridView1.Rows.Remove(selectedRow);
}
当用户在DataGridView中右键单击一行时,会触发“删除”菜单项的Click事件。在Click事件处理程序中,可以获取选中的行,然后删除该行。
以下是“删除”菜单项的Click事件处理程序的简化版本:
private void dataGridView1_DeleteRow(object sender, EventArgs e)
{
// 删除选中的行
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
}
这种方法将删除选中的行。如果需要删除所有选中的行,可以使用以下代码:
private void dataGridView1_DeleteRow(object sender, EventArgs e)
{
// 删除所有选中的行
foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
dataGridView1.Rows.Remove(row);
}
}