下面是我使用的代码(只是与打印相关的部分):
按钮1 onclick处理程序方法:
printDialog1 = new PrintDialog();
printDialog1.AllowPrintToFile = true;
printDialog1.PrintToFile = false;
if (printDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
PrintDocument pd = new PrintDocument();
pd.DefaultPageSettings.PaperSize = new PaperSize("A4", 826, 1169);
pd.PrinterSettings.PrintToFile = true;
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
pd.Print();
}和我的pd_PrintPage方法:
Bitmap bitmapCanvas = new Bitmap(1000, 1000);
Graphics g = Graphics.FromImage(bitmapCanvas);
g.Clear(Color.White);
...
some g.Draw...() stuff
...
e.Graphics.DrawImage(bitmapCanvas, A(2), A(2));
//where e is the PrintPageEventArgs defined in the method signature我的问题的第一部分是,这不能打印到选定的打印机(在打印对话框中选择)。如果打印机是默认打印机,则仅打印到该打印机。在Windows7下,它可以识别默认打印机,因此在单击按钮后弹出的打印对话框中的comboBox中将默认选择默认打印机。
我的主要问题是,这在Windows Xp下根本不起作用(不幸的是,我只能使用它)。我有点好奇为什么。因此,我不知道是我搞砸了,还是Windows Xp不支持它。
我应该用什么来完成或更正我的代码?
感谢您的帮助,非常感谢!米图拉特·巴蒂
发布于 2013-06-05 04:55:15
尝尝这个,
printDialog1 = new PrintDialog();
printDialog1.AllowPrintToFile = true;
printDialog1.PrintToFile = false;
if (printDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
printDialog1.Document.DefaultPageSettings.PaperSize = new PaperSize("A4", 826, 1169);
printDialog1.Document.PrinterSettings.PrintToFile = true;
printDialog1.Document.PrintPage += new PrintPageEventHandler(pd_PrintPage);
printDialog1.Document.Print();
}https://stackoverflow.com/questions/16926856
复制相似问题