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

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

简介

在 C# 中,我们可以通过 System.Drawing.Printing 命名空间提供的 PrintDocument 类来实现简单的文本打印。

步骤

1. 引入命名空间

使用 PrintDocument 类需要引入 System.Drawing.Printing 命名空间。

using System.Drawing.Printing;

2. 定义 PrintDocument 变量

在代码中定义一个 PrintDocument 变量,并设置其 PrintPage 事件。该事件会在每一份打印内容被提交到打印机之前调用。

private PrintDocument printDocument1 = new PrintDocument();

public Form1()
{
    InitializeComponent();
    printDocument1.PrintPage += new PrintPageEventHandler(this.printDocument1_PrintPage);
}

3. 实现打印内容

在 PrintPage 事件中实现打印内容,打印内容可以是纯文本或是图像。

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    Font font = new Font("宋体", 14);
    Brush brush = Brushes.Black;
    string text = "Hello, World!";
    e.Graphics.DrawString(text, font, brush, 50, 50);
}

4. 启动打印

在程序中调用 Print 方法来启动打印。

private void button1_Click(object sender, EventArgs e)
{
    printDocument1.Print();
}

示例说明

示例一:打印一段简单的文本

private PrintDocument printDocument1 = new PrintDocument();

public Form1()
{
    InitializeComponent();
    printDocument1.PrintPage += new PrintPageEventHandler(this.printDocument1_PrintPage);
}

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    Font font = new Font("宋体", 14);
    Brush brush = Brushes.Black;
    string text = "Hello, World!";
    e.Graphics.DrawString(text, font, brush, 50, 50);
}

private void button1_Click(object sender, EventArgs e)
{
    printDocument1.Print();
}

运行程序,点击按钮后会弹出打印对话框,选中打印机并点击“打印”按钮,打印机会打印出一行文本”Hello, World!”。

示例二:打印图像

private PrintDocument printDocument1 = new PrintDocument();
private Image image = Image.FromFile("test.jpg");

public Form1()
{
    InitializeComponent();
    printDocument1.PrintPage += new PrintPageEventHandler(this.printDocument1_PrintPage);
}

private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    e.Graphics.DrawImage(image, 50, 50, new RectangleF(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
}

private void button1_Click(object sender, EventArgs e)
{
    printDocument1.Print();
}

运行程序,点击按钮后会弹出打印对话框,选中打印机并点击“打印”按钮,打印机会打印出一张名为“test.jpg”的图片。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 实现简单打印的实例代码 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C#多线程之Thread类详解

    欢迎来到本站,以下是C#多线程之Thread类详解的完整攻略。 简介 Thread类是C#中用于创建和管理线程的核心组件之一。它允许我们将应用程序的执行流横跨多个操作系统线程,并使多任务处理变得更加简单。Thread类是一个原始的线程类,因此,使用它时需要更多的操作和注意事项,但这也意味着我们可以在底层更精细地控制线程的行为。 创建Thread线程 使用Th…

    C# 2023年5月15日
    00
  • ASP.NET 页面之间传递参数方法汇总

    针对这个主题,“ASP.NET 页面之间传递参数方法汇总”,可以按照以下流程来进行解释: 一、前言 简单介绍一下ASP.NET网页之间传递参数的基本概念和作用,以及在实际项目开发中的重要性。 二、方法汇总 介绍常用的几种ASP.NET页面之间传递参数的方法,并根据不同的场景选择相应的传递方式。 1. QueryString 利用URL参数传递参数,适用于短时…

    C# 2023年6月3日
    00
  • C#实现类型的比较示例详解

    C#实现类型的比较示例详解 引言 C#是一门强类型的语言,在C#中,我们需要对不同的数据类型进行比较。因此,C#提供了多种方法来进行类型的比较。本文将介绍C#中实现类型比较的方法。 基本类型的比较 在C#中,基本类型的比较可以直接使用“==”和“!=”运算符。下面是一个示例: int a = 10; int b = 20; bool result = a =…

    C# 2023年5月14日
    00
  • 解析.netcore项目中IStartupFilter使用教程

    IStartupFilter是.NET Core中的一个接口,用于在应用程序启动时执行一些额外的操作。在本攻略中,我们将详细讲解如何解析.NET Core项目中的IStartupFilter使用教程。 创建StartupFilter类:首先,我们需要创建一个名为StartupFilter的类,并实现IStartupFilter接口。我们可以在.NET Cor…

    C# 2023年5月16日
    00
  • C#集合之位数组的用法

    C#集合之位数组的用法 介绍 位数组(BitArray)是C#中的一种特殊集合类型,用于存储0和1位的值,常用于大规模数据的标记和处理。在C#中,位数组是System.Collections命名空间下的一个类,可以通过创建新的BitArray实例来使用和操作。本文将介绍如何使用C#中的位数组,包括创建实例、初始化、添加或修改元素、访问元素、遍历等基本操作。并…

    C# 2023年6月7日
    00
  • asp.net 打印控件使用方法

    标题:ASP.NET打印控件使用方法 在ASP.NET开发过程中,打印控件是一个非常重要的组件。他可以方便用户进行在线的打印。本文将详细讲解ASP.NET中打印控件的使用方法。 打印控件引用 要使用ASP.NET中的打印控件,需要在页面中引用”System.Drawing.dll”和”System.Drawing.Printing.dll”这两个命名空间。 …

    C# 2023年6月3日
    00
  • c# 实现简单的串口通讯

    下面是详细讲解“c#实现简单的串口通讯”的完整攻略。 硬件准备 在进行串口通讯前,我们需要准备一些硬件设备,包括: 确保计算机中带有串口或者USB转串口的转接器。 一根串口线。 串口通讯设备(例如:单片机)。 环境配置 在进行串口通讯前,需要在电脑上安装串口通讯库,使用.NET的串口类即可实现串口通讯。在Visual Studio中,可以在工具箱中找到串口控…

    C# 2023年5月15日
    00
  • 深入多线程之:深入分析Interlocked

    深入多线程之:深入分析Interlocked 介绍 多线程编程中,线程间的数据共享是必不可少的。但是,由于线程间数据的竞争,可能会存在数据异常的情况。而Interlocked类提供了一些原子性的操作,避免了竞争,从而保证线程间数据的准确性。 Interlocked 类及其方法 Interlocked 类的定义为:用于在多个线程之间提供原子操作的方法。 Int…

    C# 2023年6月7日
    00
合作推广
合作推广
分享本页
返回顶部