C# 实现简单打印的实例代码

主窗体代码如下:

代码如下:

public partial class PrintFileForm : Form
    {
        public PrintFileForm()
        {
            InitializeComponent();
            PrintFile prinFile = new PrintFile();
            prinFile.Print();
        }
    }

打印文件类如下:

代码如下:

class PrintFile
    {
        StreamReader sr = null;
        Font printFont = new Font("宋体", 12);
        public void Print()
        {
            try
            {
                sr = new StreamReader(@"F:\Temp.txt");
                try
                {
                    PrintDocument printDoc = new PrintDocument();
                    printDoc.PrintPage += printDoc_PrintPage;
                    printDoc.Print();
                }
                finally
                {
                    sr.Close();
                }

}
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

}

void printDoc_PrintPage(object sender, PrintPageEventArgs e)
        {
            string line = null;
            //设置一页的行数=打印区域的高度除以字体高度.
            float pageLine = e.MarginBounds.Height / printFont.GetHeight(e.Graphics);
            //循环打印每一行
            for (int count = 0; count < pageLine && ((line=sr.ReadLine())!=null); count++)
            {
                float singleLine=e.MarginBounds.Top+(count*printFont.GetHeight(e.Graphics));
                e.Graphics.DrawString(line, printFont, Brushes.Black, e.MarginBounds.Left, singleLine);
            }
            //判断是否继续打印
            if (line != null)
                e.HasMorePages = true;
            else
                e.HasMorePages = false;

}
    }

(0)

相关推荐

  • C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法

    本文实例讲述了C#使用前序遍历.中序遍历和后序遍历打印二叉树的方法.分享给大家供大家参考.具体实现方法如下: public class BinaryTreeNode { public BinaryTreeNode Left { get; set; } public BinaryTreeNode Right { get; set; } public int Data { get; set; } public BinaryTreeNode(int data) { this.Data = data;

  • C#打印出正等腰三角形实例代码

    复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace 打印正三角{    class Program    {        static void Main(string[] args)        { Console.WriteLine("请输入要打印的行数:");            int n=Convert.ToInt3

  • C#打印绘图的实现方法

    本文实例讲述了C#打印绘图的实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: String drawString = ""; Font drawFont = null; SolidBrush drawBrush = null; float x = 0F; float y = 0F; StringFormat drawFormat = new StringFormat(); string test = ""; public string Tes

  • C#中通过API实现的打印类 实例代码

    复制代码 代码如下: using System;using System.Collections;using System.Text;using System.Runtime.InteropServices; using System.Security; using System.ComponentModel; using System.Drawing.Printing; namespace PrinterAPI{ public class Printer  {   private Printe

  • C#基本打印事件用法实例

    本文实例讲述了C#基本打印事件用法.分享给大家供大家参考.具体如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication3 { public partial cla

  • C# 获取打印机当前状态的方法

    要获得打印机的状态,应该定义一个联合. 复制代码 代码如下: enum PrinterStatus { 其他状态= 1, 未知, 空闲, 正在打印, 预热, 停止打印, 打印中, 离线} 其中的"正在打印"和"打印中"是同一个意思,至于为什么会是这样,目前还不知道. 在程序中添加System.Management的引用:using System.Management; 然后编写获取打印机状态的函数如下: 复制代码 代码如下: /// <summary> 

  • c#打印预览控件中实现用鼠标移动页面功能代码分享

    该功能本来可以通过拉动水平和垂直滚动条来实现,但实际使用中,用户更趋向于直接用鼠标拖动页面来实现,很多看图类软件都有这种类似的功能.而.net的打印预览控件却很遗憾的没有提供这一功能,只来自己想办法来实现啦. 我的办法就是用代码来控制打印预览控件中的水平来垂直滚动条的位置,间接实现和用鼠标直接拖动滚动条一样的效果. 在实现这一功能的过程中,最大的困难是打印预览控件并没有让程序员直接调用的关于滚动条的方法或属性.所以只好向WinAPI求助了. 以下API函数和常量就是实现上述功能的关键了: 复制代

  • C#实现打印与打印预览功能的思路及代码

    在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .Net Framework的打印功能都以组件的方式提供,为程序员提供了很大的方便,但是这几个组件的使用还是很复杂的,有必要解释一下. 打印操作通常包括以下四个功能: 1 打印设置 设置打印机的一些参数,比如更改打印机驱动程序等; 2 页面设置 设置页面大小纸张类型等 3 打印预览 类似于word中的打印预览 4 打印 实现打印功能的核心是PrintDocument类这个类属于Syste

  • C#使用控制台列出当前所有可用的打印机列表

    本文实例讲述了C#使用控制台列出当前所有可用打印机列表的方法.分享给大家供大家参考.具体如下: // The initial C# code for the WMI query was generated by WMI Code //Generator, Version 5.00, http://www.robvanderwoude.com/wmigen.php using System; using System.Management; using System.Collections; na

  • C# 实现简单打印的实例代码

    主窗体代码如下: 复制代码 代码如下: public partial class PrintFileForm : Form    {        public PrintFileForm()        {            InitializeComponent();            PrintFile prinFile = new PrintFile();            prinFile.Print();        }    } 打印文件类如下: 复制代码 代码如下

  • 用js实现简单算法的实例代码

    一.冒泡排序 var arr1=[3,9,2,7,0,8,4]; for(var i=0;i<arr1.length;i++){ for(var j=i+1;j<arr1.length;j++){ var temp=0; if(arr1[i]>arr1[j]){ temp=arr1[i]; arr1[i]=arr1[j]; arr1[j]=temp; } } } alert(arr1); 二.快速排序 var a=[3,5,0,9,2,7,5]; function quickSort(a

  • 用原生JS对AJAX做简单封装的实例代码

    首先,我们需要xhr对象.这对我们来说不难,封装成一个函数. var createAjax = function() { var xhr = null; try { //IE系列浏览器 xhr = new ActiveXObject("microsoft.xmlhttp"); } catch (e1) { try { //非IE浏览器 xhr = new XMLHttpRequest(); } catch (e2) { window.alert("您的浏览器不支持ajax,请

  • Django+mysql配置与简单操作数据库实例代码

     第一步:下载mysql驱动 cmd进入创建好的django项目目录:使用命令 pip install mysqlclient 等待安装成功! 第二步:在settings.py中配置mysql连接参数(没有mysql的先装mysql) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名(你得先在mysql中创建数据库)', 'USER':'mysql用户名(如root)', 'PASSWOR

  • MySQL与Mongo简单的查询实例代码

    首先在这里我就不说关系型数据库与非关系型数据库之间的区别了(百度上有很多)直接切入主题 我想查询的内容是这样的:分数大于0且人名是bob或是jake的总分数 平均分数 最小分数 最大分数 计数 举这个实例来试试用MySQL和mongodb分别写一个查询 首先我们先做一些准备工作 MySQL的数据库结构如下 CREATE TABLE `new_schema`.`demo` ( `id` INT NOT NULL, `person` VARCHAR(45) NOT NULL, `score` VAR

  • Avalonjs 实现简单购物车功能(实例代码)

     先给大家简单介绍下avalon概念 avalon是国内最强大的MVVM框架,没有之一,虽然淘宝KISSY团队也搞了两个MVVM框架,但都无疾而终.其他的MVVM框架都没几个.也只有外国人与像我这样闲的架构师才有时间钻研这东西.我很早之前就预言,MVVM是前端的终极解决方案.我之前在盛大无线做盛大通行证就深有体会,一个业务逻辑对应十来个不同的界面,分层架构是必不可少的.因此双向绑定作为解药,结合很早就流行的MVC框架,衍生出MVVM这神器. 因为最近有在做购物车,然后我们是用avalon来实现一

  • Webview实现android简单的浏览器实例代码

    WebView是Android中一个非常实用的组件,它和Safai.Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面,下面通过本文给大家介绍Webview实现android简单的浏览器实例代码. 实现了浏览器的返回 前进 主页 退出 输入网址的功能 注释的很清楚啦 就不多说了 首先是布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

  • iReport生成pdf打印的实例代码

    先下载ireport版本 ,我下载的是 iReport-5.0.4  编辑模板  employees_identity_print_templet @RequestMapping("printEmpPdf") @ResponseBody public Result printEmpPdf(HttpServletRequest request,HttpServletResponse response, Parameter parameter){ Result result=Result.

  • python简单实现插入排序实例代码

    Python中会遇到很多关于排序的问题,今天小编就带给大家实现插入排序的方法.在Python中插入排序的基本原理类似于摸牌,将摸起来的牌插入到合适位置.具体实现请看本文. 基本原理 类似于摸牌,将摸起来的牌插入到合适位置. 代码: # -*- coding: utf-8 -*- ''' 插入排序: 类似于摸牌,从牌堆中摸一张牌,和手中现有手牌比较.若大则放右边,小放左边. '' def insert_sort(input_list): if len(input_list)<=1: return

  • C语言打印正方形实例代码

    目录 题目描述 输入 输出 样例输入 样例输出 题目描述 由火柴棍组成的一个n×n的正方形,按从上到下,从左到右的顺序给火柴棍编号,从1开始,比如下图中,一共有24根火柴棍. 问去掉若干个火柴棍之后,这个图形中还存在多少个正方形? 如下图所示,n=3时,去掉12,17,23号火柴棒之后,还剩下5个正方形. 输入 第一行是一个整数T(1≤T≤1000),表示样例的个数. 每个样例的第1行是两个整数n(1≤n≤50),表示图形的宽度. 样例的第2行首先是一个整数m(0≤m≤2n(n+1),表示去掉火

随机推荐