循环遍历datagridview中的所有单元格

时间:2013-09-06 18:49:38

标签: c# graphics datagridview

这是我的代码:

private void button1_Click(object sender, EventArgs e)
    {
        Graphics g = this.CreateGraphics();
        Pen p = new Pen(Brushes.Blue);
        foreach (DataGridViewRow dr in dataGridView1.Rows)
        {
            float p1x = float.Parse(dr.Cells["p1x"].Value.ToString());
            float p1y = float.Parse(dr.Cells["p1y"].Value.ToString());
            float p2x = float.Parse(dr.Cells["p2x"].Value.ToString());
            float p2y = float.Parse(dr.Cells["p2y"].Value.ToString());
            g.DrawEllipse(p, p1x, p1y, 10, 10);
            g.DrawEllipse(p, p2x, p2y, 10, 10);
            g.FillEllipse(Brushes.Black, p1x, p1y, 10, 10);
            g.FillEllipse(Brushes.Black, p2x, p2y, 10, 10);
            g.DrawLine(p, p1x, p1y, p2x, p2y);
        }
    }

在执行上面的代码时,我得到运行时异常“对象引用未设置为对象的实例”。 请帮忙。

1 个答案:

答案 0 :(得分:1)

您的一个细胞很可能具有空值,即

dr.Cells["p1x"].Value == null

您无法在ToString()上使用null,因此您会收到该错误。