我创建了一个比A4纸大的应用程序。我在我的Windows窗体上放置了一个打印按钮,然后在MSDN上尝试了printDocument和printForm。但他们两个都没有缩放我的图像,只打印了一半的屏幕。
我研究并发现在某个地方建议将所有控件放在一个图片框中并打印出来,但是在我继续改变应用程序的完整设计之前,我正在寻找更好的选择。一些地方建议采用完全不同的路线进行水晶报告。
这个任务看起来并不像我想象的那么简单,现在我被卡住了。
Edit1:这是我添加到表单中的代码。我确实尝试使用位图,但这也没有解决问题。
private void button1_Click(object sender, EventArgs e)
{
//Form3 dlg = new Form3();
//dlg.ShowDialog();
//CaptureScreen();
// printDocument2.Print();
printForm1.Print();
}
/* Bitmap memoryImage;
private void CaptureScreen()
{
Graphics myGraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
}
private void printDocument2_PrintPage(System.Object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 0, 0);
}
private void groupBox4_Enter(object sender, EventArgs e)
{
}*/
如果我还可以将方向更改为横向,有没有办法?我想尝试看看这可能适合。
Edit2:我找到了一种在横向模式下打印的方法,所有内容都很合适。我的应用程序在选项卡控件下有一个窗体和3个选项卡。我想要打印的只是第三个选项卡的内容,它是结果窗口。有没有办法我只能打印选项卡控件的内容而不是整个表单?