打印到 windows 表单应用程序中的文件---Visual Basic

printing to a file in a windows forms application---Visual Basic

所以我正在用 Visual Basic 编写一个程序,让用户输入书籍详细信息(ISBN 号、作者......),然后将详细信息打印到文件中。我有以下显示表单和所有输入框的代码,但是我不知道我需要在哪里放置代码以打印到文件。

打印到文件的代码如下

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

除非我遗漏了什么,你只是想做:

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 文本框)。