2010-11-12 3 views
4

Есть ли простой способ печати с помощью vb.net?Печать с vb.net

В частности, с консолью . Кажется, что материал, который работает с приложениями форм, не работает с консолью.

+0

Что вы пытаетесь напечатать? Текст в TextArea? Само окно? –

+0

Я хочу напечатать строку текста, который пользователь вводит в консоль. –

ответ

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 

Called следующим образом:

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

Вы на самом деле пытались это сделать? «Печать» для меня не определена. –

+0

Это потому, что я использую консольное приложение вместо приложения форм. Благодаря Oded части проблем ушли, когда я ссылался на system.drawing. А потом изменилась «Печать». на «Рисование. Печать». –

+0

Его понедельник, и теперь он работает. необходим оператор import Import.Drawing (а также ссылка на system.drawing). Небольшая помощь заключается в том, чтобы использовать 'rinting.PrinterSettings.InstalledPrinters.Item (0)', чтобы найти нужный вам принтер, а не вводить что-то в '' PrinterName''. –

-2

Самый простой способ, которым я могу думать, - использовать механизм печати, такой как CrystalReports.

+1

В этом случае использование другого инструмента не считается простым. Но спасибо за идею! Идеально простой означает «Печать (« текст »)' –

1

Посмотрите на PrintDocument класса.

Определяет объект многократного использования, который отправляет выходные данные на принтер при печати из приложения Windows Forms.

+0

Есть ли что-нибудь подобное для _console_ заявление? –

+1

@Oak - Почему вы не можете использовать пространство имен 'System.Drawing.Printing' в своем консольном приложении? Просто добавьте ссылку в свой проект, и вам должно быть хорошо идти. – Oded

+0

Да, моя новизна к vb.net. Благодаря! –

0

Хорошо этот пост старый, но от моего понимания вопроса, вы хотите, чтобы напечатать строку на консоль, другими словами:

System.Console.Write("My magnificent string !") 
Смежные вопросы