Как я могу увидеть вывод Console.Error.WriteLine? - PullRequest
1 голос
/ 27 августа 2009

в vb.net у меня есть код, который выглядит так:

Imports System
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf

Public Class Form1

    Public Sub New1()
        Directory.SetCurrentDirectory("C:\Users\alexluvsdanielle\Desktop\") '"
        Console.WriteLine("Chapter 10 example 10: nested PdfPTables") 
        Dim doc As Document = New Document(PageSize.A4, 50, 50, 50, 50)

        Try
            Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream("Chap1010.pdf", FileMode.Create))
            doc.Open()
            Dim table As PdfPTable = New PdfPTable(4)
            Dim nested1 As PdfPTable = New PdfPTable(2)
            nested1.AddCell("1.1")
            nested1.AddCell("1.2")
            Dim nested2 As PdfPTable = New PdfPTable(1)
            nested2.AddCell("2.1")
            nested2.AddCell("2.2")
            Dim k As Integer = 0
            While k < 24
                If k = 1 Then
                    table.AddCell(nested1)
                Else
                    If k = 20 Then
                        table.AddCell(nested2)
                    Else
                        table.AddCell("cell " + k)
                    End If
                End If
                System.Threading.Interlocked.Increment(k)
            End While
            table.TotalWidth = 300
            table.WriteSelectedRows(0, -1, 100, 600, writer.DirectContent)
            doc.Close()

        Catch de As Exception
            Console.Error.WriteLine(de.Message)
            Console.Error.WriteLine(de.StackTrace)
        End Try
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        New1()
        End  
    End Sub

End Class

Я бы хотел посмотреть, что пишет консоль. как мне это сделать?

Ответы [ 5 ]

2 голосов
/ 27 августа 2009

Альтернативой является использование класса System.Diagnostics.Trace для этих сообщений. Затем они появятся в вашем окне вывода Visual Studio, и вы можете при желании присоединить других «слушателей», таких как ConsoleTraceListener (для консоли, когда она доступна) или TextWriterTraceListener (для файлов журнала). Вы даже можете реализовать свой собственный (например, DatabaseLogTraceListener или MessageBoxTraceListener & mdash; будьте осторожны с последним).

1 голос
/ 27 августа 2009

Почему бы не использовать Debug.Print? он будет отображаться в окне вывода при разработке и будет намного чище, чем куча сообщений везде ...

1 голос
/ 27 августа 2009

Я передал вывод приложения WinForms, запустив его из командной строки:

myapp.exe > debugfile.txt

Я делал это раньше, чтобы перенаправить вывод в файл, который я затем смогу прочитать.

0 голосов
/ 10 января 2014

У меня есть собственное решение:

Я создал форму с многострочным текстовым полем, прикрепленным к размеру окна. Я создал функцию для добавления текста в текстовое поле. Моя функция выглядит так:

Friend Sub ConsoleBox(ByVal message As String)
    If frmConsole.Visible = False Then
        frmConsole.Show()
    End If
    frmConsole.txtConsole.AppendText(message & vbNewLine)
End Sub

Затем, вместо использования MsgBox («сообщение об ошибке»), я называю свою функцию следующим образом:

ConsoleBox("My error message")

До сих пор это работало и заменяет все надоедливые окна сообщений, кнопки Accept которых вы должны нажимать каждый раз, когда что-то идет не так.

Надеюсь, это поможет.

0 голосов
/ 27 августа 2009

В приложении Winforms нет консоли.

Вам понадобится использовать MessageBox для отображения вашего сообщения.

MessageBox.Show(de.Message)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...