张彦明ID:yanmingzi
213次访问,排名2万外好友2人,关注者1
学术交流是人生上最爽快的事
yanmingzi的文章
原创 8 篇
翻译 0 篇
转载 0 篇
评论 1 篇
最近评论
yanmingzi:生活在这种充满新技术的世界里太美了!
文章分类
收藏
    相册
    phtone
    ts229班望裕山庄春游
    java
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 手写打印机 收藏

     | 旧一篇: 简单的摇奖机

      [STAThread]
      static void Main()
      {
       Application.Run(new Form1());
      }

     

      private void btnPrint_Click(object sender, System.EventArgs e)
      {
       //调用打印方法
       classPrint objclassPrint = new classPrint();
       objclassPrint.printOut("d:/ipmsg.log",true);
      }


     }
     class classPrint
     {
      private Font printFont;//用于设置打印数据的FONT
      private TextReader printtext;//用于获取打印的数据
      private void PrintLogic(object sender,PrintPageEventArgs e)
      {
       float linespage=0;//页面的总行数
       float ypos=0;//打印内容的边距
       string line=string.Empty;//接受数据的变量
       float leftMargin = e.MarginBounds.Left;//打印内容的左边距
       float topMargin = e.MarginBounds.Top;//打印内容的上边距
       int count = 0;//计数器
       //计算也面的总行数
       linespage =e.MarginBounds.Height/printFont.GetHeight(e.Graphics);
       //开始按行打印
       while(count<linespage&&(line = printtext.ReadLine())!=null)
       {//如果打印到最后一行或者没有打印内容,推出打印循环

        //设置打印内容的高度
        ypos=topMargin+(count*printFont.GetHeight(e.Graphics));
        //设置打印信息的Font
        e.Graphics.DrawString(line,printFont,Brushes.Red,leftMargin,ypos,new StringFormat());
        count++;
       }
       //是否需要打印另外一页
       e.HasMorePages=line!=null?true:false;
      }
      public void printOut(string data,bool pre)
      {
       //获取要打印的信息
       using(printtext = (TextReader)new StreamReader(data))
       {
        //设置打印信息的Font
        printFont = new Font("area",10);
        //声明打印类
        PrintDocument objPrintDocument = new PrintDocument();
        //打印类的委托事件
        objPrintDocument.PrintPage+=new PrintPageEventHandler(PrintLogic);
        if(pre)
        {
         //声名打印御览类
         PrintPreviewDialog objPrintPreviewDialog = new PrintPreviewDialog();
         objPrintPreviewDialog.Document=objPrintDocument;//指定打印源
         objPrintPreviewDialog.ShowDialog();
        }
        objPrintDocument.Print();//开始打印
       }
      }
     }

    发表于 @ 2008年05月13日 09:02:48|评论(loading...)|编辑

     | 旧一篇: 简单的摇奖机

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © yanmingzi