当前位置: 代码迷 >> .NET报表 >> 初学者请问:怎么循环打印
  详细解决方案

初学者请问:怎么循环打印

热度:268   发布时间:2016-05-05 01:34:56.0
菜鸟请教:如何循环打印?
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循环应该在第一个函数
  相关解决方案