关闭窗口时出现异常

本文关键字:异常 窗口 | 更新日期: 2023-09-27 18:29:29

单击按钮即可打开一个窗口。当我试图关闭那个窗口时(点击十字标记),我得到一个异常,说明

您的应用程序中发生了未处理的异常。

如果单击"继续",应用程序将忽略此错误并尝试继续。如果单击"退出",应用程序将立即关闭。

字符串长度不能为零。参数名称:旧值

提前谢谢。以下是代码:

Form2 f = new Form2();
f.cmbColumnCombo.DataSource = cmbList;
f.ShowDialog();
for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++)
{
    if (dataGridView1.Rows[i].Cells[f.cmbColumnCombo.Text].Value.ToString().ToLower().Contains(f.txtfind.Text.ToLower()))
    {
        //dataGridView1.Rows[i].Cells[f.cmbColumnCombo.Text].Value = dataGridView1.Rows[i].Cells[f.cmbColumnCombo.Text].Value.ToString().ToLower().Replace(f.txtfind.Text.ToLower(), f.txtreplace.Text);
        //bulidDataRow(i);
        dataGridView1.Rows[i].Cells[f.cmbColumnCombo.Text].Value = dataGridView1.Rows[i].Cells[f.cmbColumnCombo.Text].Value.ToString().Replace(f.txtfind.Text, f.txtreplace.Text);
        bulidDataRow(i);
    }
}

关闭窗口时出现异常

代码在Replace(f.txtfind.Text, f.txtreplace.Text)上似乎失败了,因为f.txtfind.Text是空字符串。

字符串。替换

ArgumentException。oldValue是空字符串(")。

在传递到Replace方法之前对其进行验证。

示例:

if (!string.IsNullOrEmpty(f.txtfind.Text))
{
    dataGridView1.Rows[i].Cells[f.cmbColumnCombo.Text].Value = dataGridView1.Rows[i].Cells[f.cmbColumnCombo.Text].Value.ToString().Replace(f.txtfind.Text, f.txtreplace.Text);
}