我刚开始接触winform,对于打印的问题搞不懂,我做的是一个panel,在里面有很多textbox,我想把textbox里的值给打印出来,可是,我不知道该怎么做,很急,马上就要交的课程设计,各位大师帮帮忙,分不够再起一页再加

解决方案 »

  1.   

    自己写DrawString
    将 PrintDocument 组件添加到窗体中。 
    右击窗体并选择“查看代码”。 
    在 PrintPage 事件处理程序中,使用 PrintPageEventArgs 类的 Graphics 属性指示打印机打印何种文本。 
    private void printDocument1_PrintPage(object sender, 
    System.Drawing.Printing.PrintPageEventArgs e)
    {
       e.Graphics.DrawString("SampleText", 
       new Font("Arial", 80, FontStyle.Bold), Brushes.Black, 150, 125);
    }
      

  2.   

    Firestone2003(笨笨小猪) 
    这段是打印在panel里所有textbox的值么,SampleText是什么意思,麻烦告诉我一下好么,多谢
      

  3.   

    不好意思,我想打印的是在panel里所有textbox里的值,而不是特定的一段文字,还有没有高手知道该怎么做,再次感谢Firestone2003(笨笨小猪)
      

  4.   

    private void printDocument1_PrintPage(object sender, 
    System.Drawing.Printing.PrintPageEventArgs e)
    {
       e.Graphics.DrawString(textBox1.Text
       new Font("Arial", 80, FontStyle.Bold), Brushes.Black, 150, 125);
       e.Graphics.DrawString(textBox2.Text
       new Font("Arial", 80, FontStyle.Bold), Brushes.Black, 150, 125);
    ...
    }
      

  5.   

    回:不好意思,我想打印的是在panel里所有textbox里的值,而不是特定的一段文字,还有没有高手知道该怎么做,再次感谢Firestone2003(笨笨小猪)
    定义一个string a;
    用foreach循环把你要的Textbox.Text循环出来相加赋值给a,
    .......
       e.Graphics.DrawString(a, //这样就可以(其他不变)
    .......
      

  6.   

    syeerzy(快乐永远) 
    我的数据是分了很多页的,对于循环有影响么,不好意思,我刚学c#对foreach用的不是太熟