首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在.Net Winforms中使用打印预览

在 .Net Winforms 中使用打印预览,可以通过以下步骤实现:

  1. 首先,需要在项目中添加一个 PrintPreviewDialog 控件和一个 PrintDocument 控件。
  2. 在 PrintDocument 控件的 PrintPage 事件中,添加需要打印的内容。
  3. 在 PrintPreviewDialog 控件的 FormClosed 事件中,调用 PrintDocument 控件的 Dispose 方法释放资源。
  4. 最后,调用 PrintPreviewDialog 控件的 ShowDialog 方法打开预览窗口。

以下是一个简单的示例代码:

代码语言:csharp
复制
using System.Drawing.Printing;
using System.Windows.Forms;

public partial class Form1 : Form
{
    private PrintDocument printDocument = new PrintDocument();
    private PrintPreviewDialog printPreviewDialog = new PrintPreviewDialog();

    public Form1()
    {
        InitializeComponent();

        printDocument.PrintPage += PrintDocument_PrintPage;
        printPreviewDialog.FormClosed += PrintPreviewDialog_FormClosed;
    }

    private void PrintDocument_PrintPage(object sender, PrintPageEventArgs e)
    {
        // 在这里添加需要打印的内容
        e.Graphics.DrawString("Hello, World!", new Font("Arial", 12), Brushes.Black, 100, 100);
    }

    private void PrintPreviewDialog_FormClosed(object sender, FormClosedEventArgs e)
    {
        printDocument.Dispose();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        printPreviewDialog.Document = printDocument;
        printPreviewDialog.ShowDialog();
    }
}

在这个示例中,我们创建了一个 PrintDocument 控件和一个 PrintPreviewDialog 控件,并在 PrintDocument 控件的 PrintPage 事件中添加了一些简单的文本内容。在 PrintPreviewDialog 控件的 FormClosed 事件中,我们调用了 PrintDocument 控件的 Dispose 方法释放资源。最后,在按钮的 Click 事件中,我们设置了 PrintPreviewDialog 控件的 Document 属性为 PrintDocument 控件,并调用 ShowDialog 方法打开预览窗口。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

共45个视频
2022全新MyBatis框架教程-循序渐进,深入浅出(上)
动力节点Java培训
通过本课程的学习,可以在最短的时间内学会使用持久层框架MyBatis,在该视频中没有废话,都是干货,该视频的讲解不是学术性研究,项目中用什么,这里就讲什么,如果您现在项目中马上要使用MyBatis框架,那么您只需要花费3天的时间,就可以顺利的使用MyBatis开发了。
共0个视频
2022全新MyBatis框架教程-循序渐进,深入浅出(
动力节点Java培训
通过本课程的学习,可以在最短的时间内学会使用持久层框架MyBatis,在该视频中没有废话,都是干货,该视频的讲解不是学术性研究,项目中用什么,这里就讲什么,如果您现在项目中马上要使用MyBatis框架,那么您只需要花费3天的时间,就可以顺利的使用MyBatis开发了。
共0个视频
2022全新MyBatis框架教程-循序渐进,深入浅出(下)
动力节点Java培训
通过本课程的学习,可以在最短的时间内学会使用持久层框架MyBatis,在该视频中没有废话,都是干货,该视频的讲解不是学术性研究,项目中用什么,这里就讲什么,如果您现在项目中马上要使用MyBatis框架,那么您只需要花费3天的时间,就可以顺利的使用MyBatis开发了。
共39个视频
动力节点-Spring框架源码解析视频教程-上
动力节点Java培训
本套Java视频教程主要讲解了Spring4在SSM框架中的使用及运用方式。本套Java视频教程内容涵盖了实际工作中可能用到的几乎所有知识点。为以后的学习打下坚实的基础。
共0个视频
动力节点-Spring框架源码解析视频教程-
动力节点Java培训
本套Java视频教程主要讲解了Spring4在SSM框架中的使用及运用方式。本套Java视频教程内容涵盖了实际工作中可能用到的几乎所有知识点。为以后的学习打下坚实的基础。
共0个视频
动力节点-Spring框架源码解析视频教程-下
动力节点Java培训
本套Java视频教程主要讲解了Spring4在SSM框架中的使用及运用方式。本套Java视频教程内容涵盖了实际工作中可能用到的几乎所有知识点。为以后的学习打下坚实的基础。
共17个视频
动力节点-JDK动态代理(AOP)使用及实现原理分析
动力节点Java培训
动态代理是使用jdk的反射机制,创建对象的能力, 创建的是代理类的对象。 而不用你创建类文件。不用写java文件。 动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象。jdk动态代理,必须有接口,目标类必须实现接口, 没有接口时,需要使用cglib动态代理。 动态代理可以在不改变原来目标方法功能的前提下, 可以在代理中增强自己的功能代码。
共69个视频
《腾讯云AI绘画-StableDiffusion图像生成》
学习中心
人工智能正在加速渗透到千行百业与大众生活中,个体、企业该如何面对新一轮的AI技术浪潮?为了进一步帮助用户了解和使用腾讯云AI系列产品,腾讯云AI技术专家与传智教育人工智能学科高级技术专家正在联合打造《腾讯云AI绘画-StableDiffusion图像生成》训练营,训练营将通过8小时的学习带你玩转AI绘画。并配有专属社群答疑,助教全程陪伴,在AI时代,助你轻松上手人工智能,快速培养AI开发思维。
领券