返回顶部
首页 > 资讯 > 精选 >实现C#打印文档的步骤
  • 534
分享到

实现C#打印文档的步骤

2023-06-17 23:06:59 534人浏览 薄情痞子
摘要

本篇内容主要讲解“实现C#打印文档的步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“实现C#打印文档的步骤”吧!C#打印文档操作方式:C#打印文档1.新建一个项目项目中有两个fORM(Form

本篇内容主要讲解“实现C#打印文档的步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“实现C#打印文档的步骤”吧!

C#打印文档操作方式:

C#打印文档1.新建一个项目

项目中有两个fORM(Form1,Form2)

C#打印文档2.在Form1中添加菜单

mainMenu1,一个richTextBox1(定义为Public),一个打印文档控件PrintDocument,名称为MyPrintDC。一个状态栏名称为myStatus。

菜单项有:

文件(mnFile){新建(mnNew),打开(mnOpen),保存(mnSave),页面设置(mnPageSetup),打印预览(mnPrintView),打印(mnPint),退出(mnClose)}

编辑(mnEdit){复制(mnCopy),剪切(mnCut),粘贴(mnPaste),查找(mnSearch)}

关于(mnAbout)

C#打印文档3.在Form2中添加一个标签:

查找内容,文本(txtSearch),命令按钮(btnSearch) 查找一下个,命令按钮(btnCancel)取消4.Form1中代码:

C#打印文档之加入引用:

using System.io;

C#打印文档之在控件定义阶段中加入:

private StringReader myReader;   private Form2 f;

C#打印文档之Form1窗体的构造函数中:

f=new Form2();   f.Owner =this;   f.Hide();

C#打印文档之Form1窗体中定义一个方法CheckSave ()

private void CheckSave()   {   if (this.richTextBox1.Text!="")   {   if (MessageBox.Show("是否保存当前文件?","确认",  MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)   {   this.myStatus.Text ="保存文件";   SaveFileDialog svfDialog=new SaveFileDialog();   svfDialog.Filter ="文本文件|*.*|富文本格式文件|*.rtf|所有文件|*.*";   if (svfDialog.ShowDialog()==DialogResult.OK)   {  this.richTextBox1.SaveFile(svfDialog.FileName,  RichTextBoxStreamType.PlainText);   }   }   }   }

C#打印文档之新建菜单(mnNew):

this.CheckSave();   this.richTextBox1.Clear();   this.myStatus.Text ="新建文件";

C#打印文档之打开菜单(mnOpen):

this.CheckSave();   OpenFileDialog opfDialog=new OpenFileDialog ();   opfDialog.Filter ="文本文件|*.*|富文本格式文件|*.rtf|所有文件|*.*";   if (opfDialog.ShowDialog()==DialogResult.OK)   {  this.richTextBox1.LoadFile(  opfDialog.FileName,RichTextBoxStreamType.PlainText);   }   this.myStatus.Text ="打开文件";

C#打印文档之保存菜单(mnSave):

this.myStatus.Text ="保存文件";   SaveFileDialog svfDialog=new SaveFileDialog();   svfDialog.Filter ="文本文件|*.*|富文本格式文件|*.rtf|所有文件|*.*";   if (svfDialog.ShowDialog()==DialogResult.OK)   {   this.richTextBox1.SaveFile(svfDialog.FileName,  RichTextBoxStreamType.PlainText);   }

C#打印文档之控件的PrintPage事件代码(MyPrintDC):

private void MyPrintDC_PrintPage(object sender,   System.Drawing.Printing.PrintPageEventArgs e)   {   //打印文档打印页面事件代码   this.myReader=new StringReader(this.richTextBox1.Text);//定义字符读流   Graphics myGraphics=e.Graphics;   Font myPrintFont=this.richTextBox1.Font;   //计算一页行数   float iLinePage=  e.MarginBounds.Height/myPrintFont.GetHeight(myGraphics);   int iLineNumber=0;//打印行数   float fyPosition=0;//打印时的纵坐标   float fMarginLeft=e.MarginBounds.Left;//纸页面左边界   float fMarginTop=e.MarginBounds.Top;   string strLine="";   while ((iLineNumber<iLinePage)&&(strLine=myReader.ReadLine())!=null)   {   fyPosition=fMarginTop+iLineNumber*myPrintFont.GetHeight(myGraphics);   myGraphics.DrawString(strLine,myPrintFont,  new SolidBrush(Color.Black),fMarginLeft,  fyPosition,new StringFormat());   iLineNumber++;   }   if (strLine!=null)   {   e.HasMorePages=true;   }   else  {   e.HasMorePages =false;   }   }

C#打印文档之页面设置菜单(mnPageSetup):

PageSetupDialog mypgDialog=new PageSetupDialog();   mypgDialog.Document =this.MyPrintDC;   try  {   mypgDialog.ShowDialog();   }   catch  {   this.MyPrintDC.PrintController.OnEndPrint(  this.MyPrintDC,new System.Drawing.Printing.PrintEventArgs());   }

C#打印文档之打印预览菜单(mnPrintView):

PrintPreviewDialog myptViewDialog=new PrintPreviewDialog();   myptViewDialog.Document =this.MyPrintDC;   try  {   myptViewDialog.ShowDialog();   }   catch  {   this.MyPrintDC.PrintController.OnEndPrint(  this.MyPrintDC,new System.Drawing.Printing.PrintEventArgs());   }   打印菜单(mnPrint):   PrintDialog ptDialog=new PrintDialog();   ptDialog.Document =this.MyPrintDC;   if (ptDialog.ShowDialog()==DialogResult.OK)   {   try  {   this.MyPrintDC.Print();   }   catch  {   this.MyPrintDC.PrintController.OnEndPrint(   this.MyPrintDC,new System.Drawing.Printing.PrintEventArgs());   }   }

C#打印文档之复制菜单(mnCopy):

if (this.richTextBox1.SelectedText!="")   {   Clipboard.SetDataObject(this.richTextBox1.SelectedText);   this.mnCopy.Enabled =false;   this.mnCut.Enabled =false;   this.mnPaste.Enabled =true;   }

C#打印文档之剪切菜单(mnCut):

if (this.richTextBox1.SelectedText!="")   {   Clipboard.SetDataObject(this.richTextBox1.SelectedText);   this.richTextBox1.SelectedText ="";   this.mnCopy.Enabled =false;   this.mnCut.Enabled =false;   this.mnPaste.Enabled =true;   }

C#打印文档之粘贴菜单(mnPaste):

IDataObject d=Clipboard.GetDataObject();   this.richTextBox1.SelectedText =(string)d.GetData(DataFormats.Text);

C#打印文档之查找菜单(mnSearch):

f.Show();

C#打印文档之富文本框richTextBox1的文件选择改变事件(SelectionChanged)

if (this.richTextBox1.SelectedText!="")   {   this.mnCut.Enabled =true;   this.mnCopy.Enabled =true;   }   else  {   this.mnCut.Enabled =false;   this.mnCopy.Enabled =false;   this.mnPaste.Enabled =true;   }

C#打印文档4.Form2中的代码:

定义一个整型变量:

private int findPlace=0;

命令按钮"查找下一个"代码

if (this.txtSearch.Text !="")   {   Form1 mainform=(Form1)this.Owner;   if (mainform.richTextBox1.Text.Length>0)   {if(  (this.findPlace=  mainform.richTextBox1.Text.IndexOf(  this.txtSearch.Text,this.findPlace))==-1)   {   MessageBox.Show("没有找到!");   this.findPlace =0;   }   else  {mainform.richTextBox1.Select(  this.findPlace,this.txtSearch.Text.Length);   this.findPlace=  this.findPlace+this.txtSearch.Text.Length;   mainform.Activate();   }  }  }

命令按钮"取消"代码:

this.Hide();   this.Owner.Show();

到此,相信大家对“实现C#打印文档的步骤”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 实现C#打印文档的步骤

本文链接: https://lsjlt.com/news/294221.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 实现C#打印文档的步骤
    本篇内容主要讲解“实现C#打印文档的步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“实现C#打印文档的步骤”吧!C#打印文档操作方式:C#打印文档1.新建一个项目项目中有两个form(Form...
    99+
    2023-06-17
  • C#怎么实现完整文档打印功能
    这篇文章主要讲解了“C#怎么实现完整文档打印功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么实现完整文档打印功能”吧!C#打印程序实现完整文档打印功能,我们会介绍打印操作具体包括的...
    99+
    2023-06-17
  • C#调用打印机实现打印
    一、引用BarcodeStandard.dll #region BarcodeStandard.dll string inputS...
    99+
    2024-04-02
  • 如何浅析C#打印和C#打印预览的实现
    如何浅析C#打印和C#打印预览的实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们谈到C#打印和C#打印预览的实现其中主要就是包括:页面设置、打印预览、打印...
    99+
    2023-06-17
  • C#实现添加多行文本水印到Word文档
    目录dll引用添加多行多列文字水印实现代码一般情况下,在Word中添加文字水印仅支持添加一个文本字样的水印,但在复杂的办公环境中,由于对不同文档的设计要求,需要在Word文档中添加平...
    99+
    2024-04-02
  • C#怎么调用打印机实现打印
    本篇内容主要讲解“C#怎么调用打印机实现打印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么调用打印机实现打印”吧!一、引用BarcodeStandard.dll  &...
    99+
    2023-06-30
  • 云服务器怎么连接打印机打印文档的
    首先,当用户需要使用云服务器中的打印机进行打印时,需要先在本地安装打印机驱动程序,并连接到云服务器上。接下来,用户可以通过访问云服务器的控制台,输入相应的账户和密码进行访问和管理打印机。 在使用打印机的过程中,用户需要按照打印机使用手册的...
    99+
    2023-10-27
    文档 服务器 打印机打印
  • 云服务器连接打印机打印文档的方法
    1. 确保打印机与云服务器在同一网络中 要连接云服务器和打印机,首先需要确保它们都连接到同一个网络中。这可以通过将它们连接到同一个路由器或交换机来实现。确保打印机和云服务器都能够通过网络进行通信。 2. 安装打印机驱动程序 在连接打印机之...
    99+
    2023-10-28
    文档 服务器 方法
  • windows安装网络打印机的步骤
    第一步:将打印机连接至主机,打开打印机电源,通过主机的“控制面板”进入到“打印机和传真”文件夹,在空白处单击鼠标右键,选择“添加打印机”命令,打开添...
    99+
    2023-06-04
    windows 安装网络打印机 网络 打印机 安装 步骤
  • win10安装打印机的详细步骤
    很多人想要给win10电脑连接打印机不知道如何操作,下面就专门给大家带来操作的方法吧,我们可以跟着步骤一步一步的来操作。1、首先点击电脑桌面的开始---设置。 2、找到“设备”项,此项包含了蓝牙,打印机,鼠标的设置。 3、可直接点击添加打印...
    99+
    2023-07-10
  • Go语言实现PDF到Word文档的原理和步骤
    Go语言PDF转word文档的实现原理和步骤 实现原理 PDF转word文档的实现原理是将PDF文档中的内容提取出来,然后根据word文档的格式重新组织和排版,最后生成word文档。 实现步骤 提取PDF文档...
    99+
    2024-02-01
    go语言 word文档 pdf转换
  • C#实现EPL II格式打印与打印测试
    一、EPL II 格式及打印测试 注意N命令前的换行和最后P1后的换行。将此段代码复制到windows记事本里另存为Print.ext,文件名随便,后缀为ext。然后通过cmd控制命...
    99+
    2024-04-02
  • 学习Go语言文档中的log.Println函数实现日志打印
    Go语言提供了一个log包,用于实现日志打印。其中,log.Println函数是一种常用的打印日志的方式,它可以输出日志信息,并且带有时间戳和文件名等基本信息,方便于后续的分析和处理。下面,我们将介绍如何使用log.Println函数打印日...
    99+
    2023-11-03
    文档 logPrintln 关键词:Go语言 日志打印
  • C++实现二维图形的打印
    目录一、下三角图形的打印二、中三角二维图形的打印三、上三角图形的打印四、九九乘法表的打印总结今天,总结一下二维图形的打印问题,也是当时困扰我的一大难题哈哈哈哈,好在随着知识的沉淀,对...
    99+
    2024-04-02
  • window10连接打印机的步骤是什么
    连接打印机到Windows 10的步骤如下:1. 确保打印机已经正确连接到电源和电脑,并且打开。2. 打开Windows 10的“设...
    99+
    2023-09-18
    window10
  • MySQL打印死锁日志的方法步骤
    目录前言:1.手动打印死锁日志2.自动保存死锁日志总结:前言: 在 MySQL 运维过程中,难免会遇到 MySQL 死锁的情况,一旦线上业务日渐复杂,各种业务操作之间往往会产生锁冲突...
    99+
    2024-04-02
  • c# 实现打印机状态查询与阻塞打印
    目录打印机状态获取打印机脱机检查打印机阻塞队列实现 在使用winform编写自动打印服务的过程中,发现只要进行了打印命令的调用,文档就会进入到打印等待队列,如果打印机无法正常工作,则...
    99+
    2024-04-02
  • Java打印PDF文档的方法有哪些
    本篇内容主要讲解“Java打印PDF文档的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java打印PDF文档的方法有哪些”吧!使用工具:Spire.PDF for JavaJar文件...
    99+
    2023-06-02
  • Qt项目打包的实现步骤
    目录准备项目文件用InstallShield解决打包后自动启动cmd窗口的问题准备项目文件 本质上就是把依赖的动态库放到你指定的文件夹里面去;这样在其他电脑上运行时,就不需要再安装q...
    99+
    2024-04-02
  • Maven打包上云的实现步骤
    目录1 修改配置文件2 本地打包运行2.1 打包2.2 运行jar包3 上云(飞天)1 修改配置文件 首先修改pom配置文件(添加maven打jar包插件),添加如下代码: <...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作