C#-从Datagrid视图到图片框的图像

C#-从Datagrid视图到图片框的图像,c#,datagrid,C#,Datagrid,我有一个带有列类型图像的datagrid视图。我想从datagrid中获取我正在使用的图片框的值。这是我手机里的密码 byte[] image = (byte[])dgv_salesquotesummary.Rows[e.RowIndex].Cells[7].Value; MemoryStream ms = new MemoryStream(image); pb_productImage.Image = Image.FromStream(ms); 我有一个错误,上面写着 Additional

我有一个带有列类型图像的datagrid视图。我想从datagrid中获取我正在使用的图片框的值。这是我手机里的密码

byte[] image = (byte[])dgv_salesquotesummary.Rows[e.RowIndex].Cells[7].Value;
MemoryStream ms = new MemoryStream(image);
pb_productImage.Image = Image.FromStream(ms);
我有一个错误,上面写着

Additional information: Unable to cast object of type 'System.Drawing.Bitmap' to type 'System.Byte[]'.

提前谢谢你

错误消息显示将位图转换为字节[]失败。这意味着单元格值是从图像派生的。在简单类型中,通常您可以立即使用它,如下所示:

pb_productImage.Image = (Image) dgv_salesquotesummary.Rows[e.RowIndex].Cells[7].Value
但是,由于在这种情况下,您的datagrid随时都可以处理映像,因此谨慎的做法是首先克隆映像,如:

pb_productImage.Image = (Image)(((Bitmap)dgv_salesquotesummary.Rows[e.RowIndex].Cells[7].Value).Clone())

该单元格的值已经是位图,因此无需将其转换为字节[],只要将其转换为图像即可。这是什么意思?请以代码格式创建您的答案,以便我可以尝试并测试它:)pb_productImage.Image=(Image)((位图)dgv_SalesQuotesSummary.Rows[e.RowIndex].Cells[7].Value.Clone())先生,谢谢您现在的工作。请把你的答案写在“答案”框上,这样我会把它标记为“已回答”谢谢你,先生!非常有帮助!上帝保佑你,先生!+:)