DataGridViewImageColumn在分配单元格值

时间:2018-01-16 18:41:05

标签: c# datagridview datagridviewimagecolumn

使用DataGridView的C#表单,第一列是DataGridViewImageColumn。在表单构造函数中,向DataGridView添加行,第一个参数是从文件读取的Bitmap对象。 DataGridView显示正确,没有问题。

Bitmap blackCamera = null;
Bitmap grayCamera = null;
public FormConstructor()
{
    ...
    blackCamera = new Bitmap(@"BlackCamera.bmp");
    grayCamera = new Bitmap(@"GrayCamera.bmp");
    ...
    int row = dataGridView_xxx.Rows.Add(blackCamera); // works fine
    ...
    dataGridView_xxx.Rows[n].Cells[0].Value = grayCamera; // works fine
    ...
}

稍后,想要更改某些行的第一个列单元格的图像。 在鼠标函数的回调中,如果尝试分配DataGridViewImageColumn单元格值,我会得到异常“无法将System.Drawing.Bitmap类型的对象强制转换为类型System.String”,但图像确实会更改为所需的新位图。例如:

private void MouseCallback(Object sender, EventArgs e)
{
    ...
    dataGridView_xxx.Rows[nnn].Cells[0].Value = blackCamera; // changes image color but triggers exception
    ...
}

Microsoft文档似乎支持如上所述分配DataGridViewImageColumn单元格值。奇怪的是,它在构造函数中毫无例外地工作,但在回调中处理异常。 如何消除异常?

1 个答案:

答案 0 :(得分:0)

问题解决了。请参阅上面的最终评论。

相关问题