【发布时间】:2012-11-19 07:47:27
【问题描述】:
我当前的代码:
Remove()
{
for (int i = 0; i < ConGridView.RowCount; i++)
{
if (ConGridView.Rows[i].Cells[0].Value.ToString() == Address)
{
ConGridView.Rows.RemoveAt(i);
break;
}
}
}
所以每次客户端断开连接时我都试图调用删除函数。该函数将从 datagridview 中删除连接地址。当客户端一个一个断开连接时,它工作得很好。但是,如果 100 个连接被丢弃并且它尝试在不到一秒的时间内删除 100 个连接,那么它会错误地提示“提供的行索引超出范围”。我应该如何检查?
到目前为止,我已经尝试过: 试着抓。 if (ConGridView.Rows[i] != null), if (i
对此有任何想法吗?
【问题讨论】:
-
我已经用不同的方式解决了这个问题......我已经切换到 TreeNodeView,因为这就是我最终要使用的。现在我可以删除任意数量的连接: For each(ConTreeView 中的 TreeNode TN) { ConTreeView.Nodes.Remove(TN);我应该将此标记为答案吗?尽管它并没有真正按照预期的方式解决问题,而是采取了不同的方法。
标签: c# winforms visual-studio-2010 visual-studio for-loop