c#.net 2010 开发winform
代码如下:
private void BnCodePrint_Click(object sender, EventArgs e)
{
if (Lst.Items.Count > 0)
{
PrintDialog printDialog = new PrintDialog();
CodeDocument.DefaultPageSettings.PaperSize = new PaperSize("custom", 375, 185); //纸张大小
printDialog.Document = CodeDocument;
defaultPen = new Pen(Color.Black, 1);
if (printDialog.ShowDialog() == DialogResult.OK)
{
try
{
CodeDocument.Print();
}
catch (Exception excep)
{
MessageBox.Show(excep.Message, "打印出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
CodeDocument.PrintController.OnEndPrint(CodeDocument, new PrintEventArgs());
}
}
}
}
private void CodeDocument_PrintPage(object sender, PrintPageEventArgs e)
{
Graphics g = e.Graphics; //获得绘图对象
SolidBrush myBrush = new SolidBrush(Color.Black);//刷子
for (int i = 0; i < Lst.Items.Count; i++)//循环逐张打印标签纸
{
DrawCode(g, myBrush, i);
}
}
测试运行结果:内容重复打印在同一张标签纸上

本意是想通过for循环,逐张打印标签纸(内容在listview中,通过传递不同的i值来访问)。请问应该如何修改代码??
------解决思路----------------------
你的for循环写错地方了,写在了“打印一张纸”的方法里了。
------解决思路----------------------
for循环应该在第一个函数