你没有任何删除的操作当然不行。你的函数只是在有了删除操作之后触发的而已
dataGridView1.Rows.RemoveAt(位置);
代替你的 dataGridView1_UserDeletedRow(sender,e);位置
另外UserDeletedRow事件改成UserDeletingRow事件要好一些吧
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView1_UserDeletedRow(sender,new DataGridViewRowEventArgs(dataGridView1.Rows[e.RowIndex]));//应该这样调用
}