2017-04-18 79 views
-2

所以我編寫了一個程序在Visual Basic中獲取用戶輸入書籍詳細信息(ISBN編號,作者........)和然後將詳細信息打印到文件中。我有下面的代碼,它顯示窗體和所有的輸入框,但我很無知我需要將代碼打印到文件的位置。打印到Windows窗體應用程序中的文件--- Visual Basic

代碼打印到文件內容如下

FileOpen(1, "C:\test\testbook.txt", OpenMode.Append) 
PrintLine(1, ISBN & " " & Author & " " & Title & " " & PageCount) 
FileClose() 

我試圖把它放在子的形式,但沒有奏效。我的問題是在哪裏做的我已經把這段代碼,以便它打印到文件

全碼:

Public Class createBookform 
    Public ISBN, Author, Title As String 
    Public PageCount As Integer 

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     FileOpen(1, "C:\test\testbook.txt", OpenMode.Append) 
     PrintLine(1, ISBN & " " & Author & " " & Title & " " & PageCount) 
     FileClose() 
    End Sub 

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 
     ISBN = TextBox1.Text 
    End Sub 

    Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged 
     Author = TextBox3.Text 
    End Sub 

    Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged 
     Title = TextBox4.Text 
    End Sub 

    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged 
     PageCount = TextBox2.Text 
    End Sub 

    Private Sub OKbUTTON_Click(sender As Object, e As EventArgs) Handles OKbUTTON.Click 
     MessageBox.Show("New book entered successfully", "Book confirmation") 
     Close() 
    End Sub 
End Class 

windows form that opens when code is executed

+0

傳統上,「打印到文件」是當你打印出一個文件,並設置勾號「To file」來爲假脫機程序創建一個'prn'文件。你試圖做的是「保存到文件」。問問你自己什麼時候該發生。您正在嘗試在表單顯示之前執行此操作。 – GSerg

回答

1

除非,如果我失去了一些東西,你只是意思是:

Public Class createBookform 
    Public ISBN, Author, Title As String 
    Public PageCount As Integer 

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 
     ISBN = TextBox1.Text 
    End Sub 

    Private Sub TextBox3_TextChanged(sender As Object, e As EventArgs) Handles TextBox3.TextChanged 
     Author = TextBox3.Text 
    End Sub 

    Private Sub TextBox4_TextChanged(sender As Object, e As EventArgs) Handles TextBox4.TextChanged 
     Title = TextBox4.Text 
    End Sub 

    Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged 
     PageCount = TextBox2.Text 
    End Sub 

    Private Sub OKbUTTON_Click(sender As Object, e As EventArgs) Handles OKbUTTON.Click 
     FileOpen(1, "C:\test\testbook.txt", OpenMode.Append) 
     PrintLine(1, ISBN & " " & Author & " " & Title & " " & PageCount) 
     FileClose() 
     MessageBox.Show("New book entered successfully", "Book confirmation") 
     Close() 
    End Sub 
End Class 

通常情況下,你會不會與所有的變量或TextChanged事件打擾,你只想用這樣的:

Public Class createBookform  
    Private Sub OKbUTTON_Click(sender As Object, e As EventArgs) Handles OKbUTTON.Click 
     FileOpen(1, "C:\test\testbook.txt", OpenMode.Append) 
     PrintLine(1, TextBox1.Text & " " & TextBox3.Text & " " & TextBox4.Text & " " & TextBox2.Text) 
     FileClose() 
     MessageBox.Show("New book entered successfully", "Book confirmation") 
     Close() 
    End Sub 
End Class 

,並使其更清晰,你會使得重命名文本框的東西感(例如,txbISBN爲ISBN文本框)。

+0

而且它們也不需要任何'TextChanged'處理程序。 – GSerg

+0

@GSerg true!做了一個補充,以幫助OP多一點。 – Sturgus

+0

謝謝你這就是我需要的 –

相關問題