c#中如何实现打印功能???

时间:2023-01-27 15:58:00
各位大虾:
  我是菜鸟,不知c#中如何实现打印预览及打印功能(详细些,附些源代码),
Thang you !

5 个解决方案

#1


PrintDocument
PrintDialog
PageSetupDialog

打印预览是PrintPreviewDialog
看看这些类的help就会用了。

#2


感谢您使用微软产品。

.NET Framework提供了一些重要的打印类:
PrintDocument: PrintDocument 用于将输出发送到打印机。可实例化一个 PrintDocument,设置一些属性描述打印的内容,然后调用 Print 方法。PrintDocument 为要打印的每一页引发 PrintPage 事件。可向此事件的事件处理程序添加打印逻辑。
PrinterSettings: 有关应如何打印文档的信息。这包括在哪个打印机上打印该文档。
PageSettings: 有关应如何打印页的信息。
PrintPageEventArgs: PrintDocument 上 PrintPage 事件的数据。它为打印图面提供剪辑矩形和 Graphics 对象。
PrintEventArgs: PrintDocument 上 BeginPrint 和 EndPrint 事件的数据。允许取消打印作业。
PrintDialog: 打印机选项对话框。
PageSetupDialog: 页属性对话框。
PrintPreviewControl: 显示 PrintDocument 的控件。允许创建打印预览对话框。
PrintPreviewDialog: 通过使用 PrintPreviewControl 显示 PrintDocument 的对话框。
根据您的需要,提供一些简单的打印源代码,供您参考:
private void btnPrint_Click(object sender, System.EventArgs e)
{
  try 
  {
  streamToPrint = new StreamReader ("PrintMe.Txt");
  try 
  {
    printFont = new Font("Arial", 10);
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
    pd.Print();
  } 
  finally 
  {
    streamToPrint.Close() ;
  }
  } 
  catch(Exception ex) 
  {
    MessageBox.Show("打印文件时发生错误 - " + ex.Message);
  }
}
请根据您系统的实际情况,将提供的代码进行修改。希望以上答复给您带来帮助。
另外,Visual Studio.NET也提供了一些打印及打印预览的简单例子和源代码[C:\Program Files\Microsoft Visual Studio .Net\FrameworkSDK\Samples\quickstart\winforms\Samples\Printing\SimplePad ],可供您参考。


 — 微软全球技术中心 VB支持中心

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。

#3


怎样控制打印机的端口呢?

#4


up!

#5


mark

#1


PrintDocument
PrintDialog
PageSetupDialog

打印预览是PrintPreviewDialog
看看这些类的help就会用了。

#2


感谢您使用微软产品。

.NET Framework提供了一些重要的打印类:
PrintDocument: PrintDocument 用于将输出发送到打印机。可实例化一个 PrintDocument,设置一些属性描述打印的内容,然后调用 Print 方法。PrintDocument 为要打印的每一页引发 PrintPage 事件。可向此事件的事件处理程序添加打印逻辑。
PrinterSettings: 有关应如何打印文档的信息。这包括在哪个打印机上打印该文档。
PageSettings: 有关应如何打印页的信息。
PrintPageEventArgs: PrintDocument 上 PrintPage 事件的数据。它为打印图面提供剪辑矩形和 Graphics 对象。
PrintEventArgs: PrintDocument 上 BeginPrint 和 EndPrint 事件的数据。允许取消打印作业。
PrintDialog: 打印机选项对话框。
PageSetupDialog: 页属性对话框。
PrintPreviewControl: 显示 PrintDocument 的控件。允许创建打印预览对话框。
PrintPreviewDialog: 通过使用 PrintPreviewControl 显示 PrintDocument 的对话框。
根据您的需要,提供一些简单的打印源代码,供您参考:
private void btnPrint_Click(object sender, System.EventArgs e)
{
  try 
  {
  streamToPrint = new StreamReader ("PrintMe.Txt");
  try 
  {
    printFont = new Font("Arial", 10);
    PrintDocument pd = new PrintDocument();
    pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
    pd.Print();
  } 
  finally 
  {
    streamToPrint.Close() ;
  }
  } 
  catch(Exception ex) 
  {
    MessageBox.Show("打印文件时发生错误 - " + ex.Message);
  }
}
请根据您系统的实际情况,将提供的代码进行修改。希望以上答复给您带来帮助。
另外,Visual Studio.NET也提供了一些打印及打印预览的简单例子和源代码[C:\Program Files\Microsoft Visual Studio .Net\FrameworkSDK\Samples\quickstart\winforms\Samples\Printing\SimplePad ],可供您参考。


 — 微软全球技术中心 VB支持中心

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。

#3


怎样控制打印机的端口呢?

#4


up!

#5


mark