日期:2014-05-17  浏览次数:20985 次

求一个简单的"Hello Word!"(在线等)
小弟新转C#一周左右,纯菜鸟,上午我们组老大 给布置一个小任务让我练练手;
让我实现 “读取数据库数据 ,并打印到A4纸上” 这个功能;
连接数据库,读取数据到 SqlDataReader 中这些都完成了,电脑上也装好 虚拟打印机了,
只是打印那块 真心弄不懂哇,网上查了很多资料,眼睛都看花了,木有一个完整的打印教程哇,
那打印控件 "PrintDialog","PrintDocument"....怎么用哇?

希望能有大侠 给个有条理的小代码(哪怕只打印一个"Hello Word!"),比如说,先拖哪个控件 接着怎么实现;
伪代码也行哇,一定要有条理,小弟感激不尽~

------解决方案--------------------
看你的描述,是WinForm下的吧?请参考:
http://www.cnblogs.com/zhcw/archive/2011/11/30/2269083.html

http://www.cnblogs.com/seek/archive/2008/05/11/1192421.html
------解决方案--------------------
分别拖三个按钮,再拖PrintPreviewDialog控件、PrintDocument控件、PrintPreviewDialog控件各一个,双击PrintDocument控件,写相关PrintPage事件。
C# code
        private void button打印设置_Click(object sender, EventArgs e)
        {
            pageSetupDialog1.Document = printDocument1;
            pageSetupDialog1.ShowDialog();
        }

        private void button打印预览_Click(object sender, EventArgs e)
        {
            printPreviewDialog1.Document = printDocument1;
            printPreviewDialog1.ShowDialog();
        }

        private void button打印_Click(object sender, EventArgs e)
        {
            printDocument1.Print();
        }

        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            e.Graphics.DrawRectangle(Pens.Black, e.PageSettings.Margins.Left, e.PageSettings.Margins.Top, e.MarginBounds.Width, e.MarginBounds.Height);
            e.Graphics.DrawString("Hello,world!", new Font("宋体", 20), Brushes.Black, e.PageSettings.Margins.Left, e.PageSettings.Margins.Top);
        }

------解决方案--------------------
哦,写错了:应该是PageSetupDialog控件,PrintDocument控件、PrintPreviewDialog控件各一个

中文是我起得按钮的名字为"button打印预览",你双击它就会自动添加相应事件方法名,英文也可以,这个米有关系。