2009-08-26 94 views
1

在vb.net我有一些代碼,看起來像這樣:我怎麼看到Console.Error.WriteLine的輸出?

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 

我想看看控制檯寫作。我該怎麼做呢?

回答

0

Winforms應用程序中沒有控制檯。

您將需要使用MessageBox來顯示您的消息。

MessageBox.Show(de.Message)

2

一種替代方法是使用System.Diagnostics.Trace類這些消息。然後,它們將顯示在Visual Studio輸出窗口中,並且可以選擇附加其他「偵聽器」,如ConsoleTraceListener(對於控制檯,當它可用時)或TextWriterTraceListener(對於日誌文件)。你甚至可以實現你自己的(像DatabaseLogTraceListener或MessageBoxTraceListener —,但要注意最後一個)。

1

我已經在命令行啓動它管道WinForms應用程序的輸出:

myapp.exe > debugfile.txt 

我做到了這一點之前,將輸出重定向到一個文件,我可以再讀取。

1

爲什麼不使用Debug.Print?它會在輸出窗口中顯示出來,同時開發和乾淨多了那麼一大堆的消息框無處不在...

0

我有我自己的解決方案:

我創建了一個表格停靠填補了一個多行TextBox窗口大小。我創建了一個函數來將一些文本附加到文本框中。我的功能看起來是這樣的:

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") 

這在目前的工作,並取代所有煩人消息框的「接受」按鈕必須在每次出現錯誤時清除。

希望這會有所幫助。

相關問題