将datagridview图像列复制为表的一部分

时间:2013-11-26 13:35:09

标签: vb.net datagridview clipboard

我有一个绑定到类列表的数据网格视图。 数据网格视图包含一个图像列(DataGridViewImageColumn),该列绑定到类中的Byte()数据类型。

Image Column Screenshot

我正在将数据从DataGridView复制到其他几个地方(MS Excel / Outlook /纯文本)但是当我这样做时,图像列显然是空白的。

我可以手动将图像数据复制到剪贴板以获取单个图像,但有没有办法可以将这个图像列包含在复制到剪贴板的数据表中?

或者有一种方法可以手动构建剪贴板数据以包含图像吗?

我已经查看了列出的剪贴板格式 on msdn但我看不到可以包含所有这些信息的内容。

如果有帮助,简化的类定义:

Public Class Booking

    Public Property bookingID As Integer
    ...
    Public Property identString As String
    Public Property image As Byte() ' <--- My Image Column
    Public Property complete As Boolean
    ...
    Public Property bookedInDate As DateTime?
    Public Property bookedOutDate As DateTime?

End Class

1 个答案:

答案 0 :(得分:1)

您可以定义自己的剪贴板格式(私有或已注册)并使用数据句柄。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms649013%28v=vs.85%29.aspx#_win32_Private_Clipboard_Formats

根据您的应用程序,可能更容易使用某种间接方式,例如剪贴板中的指针指向图像。