C#中怎么把资料打印出来  希望高手指点迷津

解决方案 »

  1.   

    先搞清楚你的资料在哪,然后传到打印的控件里面进行打印,PrintDialog和PrintDocument
      

  2.   

    如果是第三方控件的话打印就简单多了,如果是打印窗体的话可以用PrintDocument,不过自己画的话有点麻烦
      

  3.   

    最最简单的打印用<body onload="javascript:window.print();">在这个页面上绑定上你要打印的数据然后用HTML排版下最方便了....也可以用reportviewer的打印功能,当然也可以GOOGLE一下打印的方法,网上很多的http://wenku.baidu.com/view/4d3bcfc58bd63186bcebbcfa.html
    建议如果只是简单的打印要求用第一个javascript:window.print()的方法已经可以满足了~
      

  4.   

    先声明打印对象
    PrintPreviewDialog pre = new PrintPreviewDialog();
     PrintDialog print = new PrintDialog();
            PrintDocument doc = new PrintDocument();然后在构造函数中注册打印事件public frmClient()
            {
                InitializeComponent();
                doc.PrintPage += new PrintPageEventHandler(doc_PrintPage);
            }
    打印事件里设置打印画布样式
    private void doc_PrintPage(object sender, PrintPageEventArgs e)
            {
                Font myfont = new Font("宋体",5);//设置字体
                //设置打印位置
                int x = 30;
                int y = 30;
                string total = txtTotal.Text.Trim();
                string major = comMajor.Text.Trim();
                
                //设置打印内容及打印位置
                //string str = "书名     数量     单价";
                string strDetail;
                //e.Graphics.DrawString(str,myfont,Brushes.Black,x,y);
                
                int dgvcount=dgvBought.Rows.Count-1;
                for (int i = 0; i < dgvcount; i++)
                {
                    //y += 10;
                    strDetail = "书名:" + dgvBought.Rows[i].Cells["bnamed"].Value.ToString();
                    e.Graphics.DrawString(strDetail, myfont, Brushes.Black, x, y);                string strNumber = "册数:" + dgvBought.Rows[i].Cells["number"].Value.ToString();
                    e.Graphics.DrawString(strNumber, myfont, Brushes.Black, x, y+10);                string strPrice="单价:"+dgvBought.Rows[i].Cells["price"].Value.ToString();
                    e.Graphics.DrawString(strPrice, myfont, Brushes.Black, x, y+20);
                    y = y + 30;
                    
                }
                e.Graphics.DrawString("总价格:" + total, myfont, Brushes.Black, x, y + 10);
                e.Graphics.DrawString("专业:" + major, myfont, Brushes.Black, x, y + 20);
                if (teacher != null)
                {
                    e.Graphics.DrawString(teacher, myfont, Brushes.Black, x, y + 30);
                }
            }
    执行打印                if (print.ShowDialog() == DialogResult.OK)
                    {
                        doc.Print();
                    }
      

  5.   

    <OBJECT   id=WebBrowser   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=0   width=0></OBJECT>   
      <input   type=button   value=打印           onclick=document.all.WebBrowser.ExecWB(6,1)>   
      <input   type=button   value=直接打印   onclick=document.all.WebBrowser.ExecWB(6,6)>   
      <input   type=button   value=页面设置   onclick=document.all.WebBrowser.ExecWB(8,1)>   
      <input   type=button   value="打印OK"   onclick="   return   myprint(this);">                         
      <input   type=button   value=打印预览   onclick=document.all.WebBrowser.ExecWB(7,1)> WebBrowser一、WebBrowser控件<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>二、WebBrowder控件的方法//打印WebBrowser1.ExecWB(6,1);//打印设置WebBrowser1.ExecWB(8,1);//打印预览WebBrowser1.ExecWB(7,1);三、实现打印的设置,打印数据的生成,打印的预览,和打印。实现打印的设置,打印数据的生成,打印的预览,和打印我一般这样做,假如查询结果在a.asp中,那么在a.asp中放置打印设置、打印预览、打印三个按钮。单击打印设置按钮则在js中执行WebBrowser1.ExecWB(8,1),以打开打印设置窗口。单击打印预览按钮则打开一个b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(7,1),以打开用户预览界面。单击打印按钮则也打开b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(6,1),以自动打印数据。四、代码a.asp调用数据的程序就不给出了。只给出几个按钮的代码:<input type=“button“ name=“mPrint“ value=“打印“ onclick=“exePrint();“><input type=“button“ name=“mPreview“ value=“打印预览“ onclick=“exePreview();“><input type=“button“ name=“mSetting“ value=“打印设置“ onclick=“exeSetting();“>