.net Can';t将带有控件的面板保存到位图
我整个上午都在用谷歌搜索我的身后,试图弄明白这一点 我有一个有多个标签的面板,一个图片盒和背景图片。我想将整个面板保存为位图进行打印,但是,它只绘制面板和背景图像。我的任何标签或图片框都没有被绘制 这是我的密码.net Can';t将带有控件的面板保存到位图,.net,vb.net,.net,Vb.net,我整个上午都在用谷歌搜索我的身后,试图弄明白这一点 我有一个有多个标签的面板,一个图片盒和背景图片。我想将整个面板保存为位图进行打印,但是,它只绘制面板和背景图像。我的任何标签或图片框都没有被绘制 这是我的密码 Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click Dim bmp As New Bitmap(jobcard.Panel1.Width, jobcard.Panel1
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim bmp As New Bitmap(jobcard.Panel1.Width, jobcard.Panel1.Height)
jobcard.Panel1.DrawToBitmap(bmp, New Rectangle(0, 0, bmp.Width, bmp.Height))
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
bmp.Save(SaveFileDialog1.FileName)
End If
End Sub
有人知道这是什么原因吗?另外,我正在使用Visual Studio express 2012
编辑:我之所以能做到这一点,部分要感谢下面的谅解备忘录的帮助。
在尝试将面板保存到位图之前,我忘了显示表单。表单是隐藏的,所以我没有注意到试试这个
从该url获得提示
我测试了一下,效果很好。这是我通过编程生成的面板的图像。
谢谢你的评论。我只是用同样的结果尝试了一下,但是,我在你给我的链接上看到,DrawToBitmap在.net framework 4之后是不受支持的,我现在使用的是.net framework 4.5。我将尝试更改我的框架版本,并将发布结果。如果我的面板位于另一个表单上,是否会有问题?谢谢您的帮助。结果是我在保存面板之前忘了显示包含面板的表单。表单是隐藏的,所以我没有真正注意到facepalm
Bitmap bmp = new Bitmap(panel1.Width,panel1.Height);
panel1.DrawToBitmap(bmp, panel1.Bounds);
bmp.Save(@"C:\Temp\Test.bmp");