DataGridView rowsreview事件不起作用



我想在用户按键盘上的del按钮时从我的datagridview1中删除当前选择的行。

这是我到目前为止的代码

    // Remove selected row
    private void DeleteRow()
    {
        try
        {
            dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
            MessageBox.Show("Row removed");
        }
        catch (Exception ex)
        {
            MessageBox.Show("row remove EX");
            return;
        }
    }
    // Event when user presses DEL button on keyboard
    private void dataGridView1_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
    {
        DeleteRow();
    }

应用程序删除了行,但是DeleteRow()功能从未执行,因为我从未看到Row removed消息。我想念什么吗?

编辑:更新的代码

从您发布的代码可见的内容中,您可以从rowsremaved Event Handler中调用eleterow((。

但是,直到删除一排才执行。如果要执行它,它将直接删除另一行 - 如果有一个或抛出异常。

请尝试:

private void dataGridView1_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
    {
        MessageBox.Show("row removed").
    }

尝试通过在eleterow((中设置调试断点来理解您已经编码的内容。当前,您的应用程序就像eleterow-> rowremeveneventhandler-> eleterow

因此,您的代码删除行执行两次。

相关内容

  • 没有找到相关文章

最新更新