自从我上一个问题以来,我在 C# 中打印表单方面做了更多的工作,现在我得到了这段代码:
public void printToolStripMenuItem_Click(object sender, EventArgs e)
{
Rectangle bounds = this.Bounds;
Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height);
Graphics g = Graphics.FromImage(bitmap);
g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size);
PrintDocument doc = new PrintDocument();
doc.PrintPage += this.Doc_PrintPage;
PrintDialog dlgSettings = new PrintDialog();
dlgSettings.Document = doc;
if (dlgSettings.ShowDialog() == DialogResult.OK)
{
doc.Print();
}
}
private void Doc_PrintPage(object sender, PrintPageEventArgs e)
{
float x = e.MarginBounds.Left;
float y = e.MarginBounds.Top;
e.Graphics.DrawImage(bitmap);
}
其中 printToolStripMenuItem_Click 是打印按钮。我知道我已经很接近了,因为我在编辑代码以满足我的需要之前看到了打印对话框。现在,我收到一个错误,在“e.Graphics.DrawImage(bitmap);”中显示“位图” 在上下文中不存在。
我可以改变什么来使这个打印图像?在尝试创建打印文档之前,我正在尝试打印屏幕图像,因为这看起来更容易,并且可以正常工作。我有时很懒 :P
注意:这是我的 form2.cs 文件中的所有代码,我需要打印的表单。
谢谢 :)