名称'Printer'未声明为VB6到.NET

nat*_*ate 4 vb.net printing vb6 declare vb6-migration

升级后我将VB6升级到.NET我收到编译错误:

Name 'Printer' is not declared
Run Code Online (Sandbox Code Playgroud)

我在VB6中的代码是这样的:

THeight = Printer.TextHeight("#")
Run Code Online (Sandbox Code Playgroud)

在.NET中声明打印机的正确方法是什么?

注意:我尝试下载打印机电源组,但无法使其正常工作.

nat*_*ate 5

Visual Basic 6.0有一个固有的Printer对象,您可以使用它而无需显式声明它.相反,打印机兼容性库的行为与任何其他.NET Framework对象相同; 您必须先显式声明.NET Framework Printer对象,然后才能使用它.

升级项目后,可以像这样添加Printer对象:

1)在"项目"菜单上,单击"添加引用".

2)在"添加引用"对话框的".NET"选项卡上,单击"Microsoft.VisualBasic.PowerPacks.Printing.Printer",然后单击"确定".

3)在代码编辑器中,在包含Visual Basic 6.0打印机代码的模块顶部添加以下语句:

导入Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6

4)在包含打印机代码的过程的顶部添加以下代码:

公共打印机作为新打印机


Sti*_*ijn 4

看一下System.Drawing.Printing命名空间中的PrintDocument

您还可以在这里找到一个教程,它涵盖了您的问题。

其他答案建议使用Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6命名空间,但根据 MSDN:

此命名空间使 Visual Basic 6.0 打印机代码无需修改即可在升级的项目中运行;它不是为了新的开发而设计的。对于新开发,请使用 PrintDocument 组件。