Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Can';t将带有控件的面板保存到位图_.net_Vb.net - Fatal编程技术网

.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");