我正在开发具有多种形式的Windows窗体应用程序。我想将其中一个表单打印为图像文件。
我正在使用此示例:click
我有一个包含各种标签,文本框和按钮的表单。当我通过按下按钮运行SaveAsBitmap
时,表单及其元素被正确保存为bmp文件(就像你截取它并保存为图像一样)。
现在,我有另一个不的表单向用户显示。 (这是一个没有边框样式的表单。)
我想在这个表单而不是另一个表单上进行bmp保存。但无论在这个表单的代码中我放置SaveAsBitmap
方法,它只保存表单的背景(没有标签之类的项目)。
但是,如果我将this.ShowDialog()
放在某处以显示表单,然后运行SaveAsBitmap
方法,则它会正常工作。
所以这里的要点是,当表单未显示时,它无法正常工作。
使用SaveAsBitmap
方法时,我写道:SaveAsBitmap(this, "C:\\test.bmp");
任何帮助表示赞赏!
答案 0 :(得分:1)
这对我有用;
theForm.hide();
...
using (var bitmap = new Bitmap(theForm.Width, theForm.Height)) {
theForm.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));
bitmap.Save(@"c:\null\ss.bmp");
}