2010-11-12 87 views
4

有什麼簡單用vb.net打印的方法?用vb.net打印

具體來說,用控制檯。似乎與表單應用程序一起工作的東西不能與控制檯一起工作。

+0

什麼是你想打印? TextArea中的文本?窗戶本身? – 2010-11-12 19:01:59

+0

我想打印用戶在控制檯中輸入的文本字符串。 – 2010-11-12 19:02:50

回答

5

http://visualbasic.about.com/od/usingvbnet/a/printvb2005.htm

Public Class myPrinter 
    Friend TextToBePrinted As String 
    Public Sub prt(ByVal text As String) 
     TextToBePrinted = text 
     Dim prn As New Printing.PrintDocument 
     Using (prn) 
     prn.PrinterSettings.PrinterName _ 
      = "PrinterName" 
     AddHandler prn.PrintPage, _ 
      AddressOf Me.PrintPageHandler 
     prn.Print() 
     RemoveHandler prn.PrintPage, _ 
      AddressOf Me.PrintPageHandler 
     End Using 
    End Sub 
    Private Sub PrintPageHandler(ByVal sender As Object, _ 
     ByVal args As Printing.PrintPageEventArgs) 
     Dim myFont As New Font("Microsoft San Serif", 10) 
     args.Graphics.DrawString(TextToBePrinted, _ 
      New Font(myFont, FontStyle.Regular), _ 
      Brushes.Black, 50, 50) 
    End Sub 
End Class 

叫解禁如下:

Dim printer As New myPrinter 
printer.prt "Hello World" 
+1

你真的嘗試過嗎? 「打印」沒有爲我定義。 – 2010-11-12 19:06:33

+0

那是因爲我正在使用控制檯應用程序而不是表單應用程序。感謝Oded當我引用system.drawing時,部分問題就消失了。然後改變「打印」。到「Drawing.Printing」。 – 2010-11-12 19:20:41

+0

它的星期一,現在起作用。需要一個'Import Printing.Drawing'語句(以及引用system.drawing)。一個小小的幫助是使用'rinting.PrinterSettings.InstalledPrinters.Item(0)'來找到你想要的打印機,而不是在''PrinterName''中輸入某些東西。 – 2010-11-15 14:16:07

-2

我能想到的最簡單的方法是使用諸如CrystalReports之類的打印引擎。

+1

在這種情況下,使用其他工具不算簡單。但是,感謝這個主意!理想的簡單意味着'打印(「文本」)' – 2010-11-12 19:23:10

1

看那PrintDocument類。

定義從Windows窗體應用程序打印時將輸出發送到打印機的可重複使用的對象。

+0

有什麼這樣的_console_應用? – 2010-11-12 19:11:54

+1

@Oak - 你無法在控制檯應用程序中使用System.Drawing.Printing命名空間的原因?只需在你的項目中添加一個參考,你應該很好去。 – Oded 2010-11-12 19:13:51

+0

是的,我的新vb.net。謝謝! – 2010-11-12 19:18:32

0

好這個職位是舊的但是從我這個問題的理解,你想打印一個字符串到控制檯,換句話說:

System.Console.Write("My magnificent string !")