Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# printdocument

作者:呐爱淡了   发布日期:2026-04-05   浏览:89

using System;
using System.Drawing.Printing;
using System.Windows.Forms;

public class PrintExample : Form
{
    private PrintDocument printDocument1 = new PrintDocument();

    public PrintExample()
    {
        // 为 PrintDocument 的 PrintPage 事件添加事件处理程序
        printDocument1.PrintPage += new PrintPageEventHandler(this.printDocument1_PrintPage);

        // 创建并显示一个按钮用于触发打印操作
        Button printButton = new Button();
        printButton.Text = "Print";
        printButton.Click += new EventHandler(printButton_Click);
        this.Controls.Add(printButton);
    }

    private void printButton_Click(object sender, EventArgs e)
    {
        // 调用 Print 方法开始打印
        try
        {
            printDocument1.Print();
        }
        catch (Exception ex)
        {
            MessageBox.Show("An error occurred while printing: " + ex.Message);
        }
    }

    private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
    {
        // 设置要打印的内容和格式
        string text = "Hello, World!";
        Font font = new Font("Arial", 12);
        e.Graphics.DrawString(text, font, Brushes.Black, 100, 100);
    }

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

解释说明:

  1. PrintDocument 类PrintDocument 是 .NET Framework 中用于定义要打印内容的类。它提供了一个 PrintPage 事件,当需要打印页面时会触发该事件。

  2. PrintPage 事件:在 printDocument1_PrintPage 方法中,我们定义了要打印的具体内容。这里简单地打印了一行文本 "Hello, World!"。

  3. Print 方法:调用 PrintDocumentPrint 方法启动打印操作。这会触发 PrintPage 事件,从而执行我们在事件处理程序中定义的打印逻辑。

  4. 按钮控件:创建了一个按钮,点击按钮后触发打印操作。

  5. 异常处理:在打印过程中可能会出现异常(例如打印机未连接),因此使用 try-catch 块捕获并处理可能的错误。

  6. 主程序入口Main 方法是应用程序的入口点,创建并运行 PrintExample 窗体。

通过这个示例,你可以了解如何在 C# 中使用 PrintDocument 类进行简单的打印操作。

上一篇:c# byte[] 转string

下一篇:c# des加密

大家都在看

c# 二进制

c# 创建目录

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站