解决方案 »

  1.   

    没看懂
    你想2个单子一起打印,一个放正面,一个放反面?
    那就不能放到2个printDocument里啊
    好比你打印word,同一个word文档可以设置双面打印
    你要打印2个word文档,怎么可能让它们打在同一张纸上
      

  2.   

    此外,设置双面打印,我虽然没设置过,不知道具体属性是哪个
    不过你可以先拖个printDialog进来,里面有各种设置,设置完,看printDocument的属性到底哪个发生变化了,下次你直接代码赋值就行了
      

  3.   


    只有一个printdocument,里面的代码如下:
     private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                bool morePage = true;
                //打印第一页
                if (morePage==true)
                {
                    int nLeft = -20;
                    int nTop = printDocument1.DefaultPageSettings.Margins.Top;
                    int nRight = printDocument1.DefaultPageSettings.Margins.Right;
                    int nBottom = printDocument1.DefaultPageSettings.Margins.Bottom;                //4,打印GroupBox
                    ////打印内容 为 局部的 this.groupBox1         
                    groupbox1.DrawToBitmap(_BitmapGroupBox,
                        new Rectangle(0, 0, _BitmapGroupBox.Width, _BitmapGroupBox.Height));
                    e.Graphics.DrawImage(_BitmapGroupBox, nLeft, nTop, _BitmapGroupBox.Width, _BitmapGroupBox.Height);
                    e.HasMorePages = true;          
                    morePage = false;//打印完第二页后设置为false
                }
                if (morePage==false)//打印第二页
                {
                    int nLeft = -20;
                    int nTop = printDocument1.DefaultPageSettings.Margins.Top;
                    int nRight = printDocument1.DefaultPageSettings.Margins.Right;
                    int nBottom = printDocument1.DefaultPageSettings.Margins.Bottom;                _BitmapGroupBox2 = new Bitmap(groupbox2.Width, groupbox2.Height);
                    //4,打印GroupBox
                    ////打印内容 为 局部的 this.groupBox1         
                    groupbox2.DrawToBitmap(_BitmapGroupBox2,
                        new Rectangle(0, 0, _BitmapGroupBox2.Width, _BitmapGroupBox2.Height));
                    e.Graphics.DrawImage(_BitmapGroupBox2, nLeft, nTop, _BitmapGroupBox2.Width, _BitmapGroupBox2.Height);
                    e.HasMorePages = false;
                                 
                }
            }        private void 双面打印_Load(object sender, EventArgs e)
            {
                printDocument1.DefaultPageSettings.Margins.Left = 0;
                printDocument1.DefaultPageSettings.Margins.Top = 20;
                printDocument1.DefaultPageSettings.Margins.Right = 0;
                printDocument1.DefaultPageSettings.Margins.Bottom = 0;
                _BitmapGroupBox = new Bitmap(groupbox1.Width, groupbox1.Height);
            }
      

  4.   

    懂了
    你是用同一个printDocument,在切换tab的时候画上不同的内容是吧
    你在双面打印的时候,把它们画到一起,第二页内容注意下位置,让它处于第二张纸的位置
    然后打印设置里设置成双面打印就行了
      

  5.   

    对呀,如何将第二页的内容画到‘第二张纸’上呢???!!!
    printDocument1_PrintPage的函数代码要如何写才能使得第二页的内容出现在第二张纸上??
      

  6.   

    还有个问题想请教下
    为什么form2里面的内容没被打印出来呢??
      

  7.   

    你用的方法是,把panel直接转图片,而不是自己GDI+画?
    那么如果form2从来也没有显示过,那里面的控件其实也没有重绘过,当然就是一片空白的