gpt4 book ai didi

c# - 验证失败,但无法在 DataGridView 中移除

转载 作者:太空狗 更新时间:2023-10-30 00:17:17 26 4
gpt4 key购买 nike

这是在我的 DataGridView 的 RowValidation 函数中:

        DataGridViewRow row = viewApplications.Rows[e.RowIndex];
if (row.Cells[colApplyTo.Index].Value == (object)-1) {
if (MessageBox.Show("Row #" + (e.RowIndex + 1) + " is not assigned to a charge. Would you like to correct this? (If no, the row will be deleted)", "Invalid Row", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) {
viewApplications.Rows.RemoveAt(e.RowIndex);
} else {
e.Cancel = true;
}
}

但是,有一个问题,如果用户说不,这意味着他或她不想更正这一行,我无法像我尝试的那样删除它。我得到异常:InvalidOperationException:无法在此事件处理程序中执行操作

如何更正此问题并仍然删除该行?

最佳答案

要删除处理程序之外的行,您可以调用 BeginInvoke:

BeginInvoke(new Action(delegate { viewApplications.Rows.RemoveAt(e.RowIndex); }));

这将在下一个消息循环中运行委托(delegate)中的代码。

关于c# - 验证失败,但无法在 DataGridView 中移除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2760657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com