none
C# Winform 打印 RRS feed

  • 问题

  • 我的一个Panele里面包含tableLayoutPanel1表格 里面有有Lable, TextBox怎么打印这个表格 

    Panel控件有滚动条

    2011年7月17日 13:42

全部回复

  • 剑仙,

    你好,你是指Labe和TextBox在TableLayoutPanel里,而TableLayoutPanel又在Panel里,现在要打印这个TableLayoutPanel,而不是打印Panel,对吗? 如果是这样,请参考下面的代码,我用它可以实现只打印TableLayoutPanel(当然包含里面的textbox和label啦),而不是打印整个panel.

     

     private void button2_Click(object sender, EventArgs e)
            {
                PrintDocument pd = new PrintDocument();
                pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);

                PrintPreviewDialog cppd = new PrintPreviewDialog();
                cppd.Document = pd;
                cppd.ShowDialog();

            }

            void pd_PrintPage(object sender, PrintPageEventArgs e)
            {
                Bitmap bit = new Bitmap(this.Width, this.Height);
                this.tableLayoutPanel1.DrawToBitmap(bit, new Rectangle(0, 0, this.Width, this.Height));         //*********
                e.Graphics.DrawImage(bit, 0, 0);
                bit.Dispose();
            }

    如果你想要的效果是也打印整个panel,那么久把****标记的那行代码中的this.tableLayoutPanel1改成this。就可以了。


    Helen Zhou [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年7月19日 7:39