0
我需要复制的图表(System.Windows.Forms.DataVisualization.Charting.Chart),以便将其粘贴到其他应用程序剪贴板。我使用下面的代码,但它给最后一行“img”说错误“类型位图的值不能转换为Bitmapsource”副本windowsform图表到剪贴板VB
任何帮助纠正错误是高度赞赏。
Private Sub CopyChartBtn_Click(sender As Object, e As RoutedEventArgs) Handles CopyChartBtn.Click
Dim main = DirectCast(Application.Current.MainWindow, MainWindow)
Dim SET_H = DirectCast(main.Frame1.Content, SET_Home)
Dim chart1 = DirectCast(SET_H.Benchchart.Child, System.Windows.Forms.DataVisualization.Charting.Chart)
'save image
Dim img As New System.Drawing.Bitmap(chart1.Width, chart1.Height)
Dim gr As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(img)
chart1.Printing.PrintPaint(gr, New System.Drawing.Rectangle(System.Drawing.Point.Empty, chart1.Size))
Clipboard.SetImage(img)
End Sub
我的项目是WPF和我主持windowsform图表中它。也许这就是问题所在,因为当我在Windows窗体项目中运行它时,它工作正常
我们的代码工作的好时候,检查项目的.NET Framework版本 – snoopcommands
@snoopcommands我使用.NET 4.5.2 – Manochehr
我检查,它很努力好的,你的代码复制了图表,我可以将它粘贴到mspaint,然后检查你导入的命名空间。我什么也没做,创建了一个新项目,放了一个图表,并在那里粘贴了你的代码。 – snoopcommands