vb.net - PrintDialog没有出现

时间:2016-05-14 11:41:03

标签: vb.net

我差不多完成了我的系统。我需要完成的只是打印过程。可悲的是,打印对话框没有出现。

以下是打印过程的代码

Private Sub PrintReceipt()
    Dim printdialog As New PrintDialog
    Dim printdocument As New Printing.PrintDocument

    printdialog.Document = printdocument

    AddHandler printdocument.PrintPage, AddressOf printdocument_printPage

    Dim result As DialogResult

    If (result = DialogResult.OK) Then
        printdocument.Print()
    End If
End Sub

printdocument_printpage没有任何问题,这基本上就是打印的内容,但是,由于打印还没有开始,除非有要求,否则我不会把它放在这里。

我希望在保存事务后显示所述对话框。它不是出于某种原因。这是保存事务的代码。

Dim payment As New Payment
    mydbcon = New MySqlConnection
    mydbcon.ConnectionString = "server=localhost;userid=root;password=;database=sdudb"
    Dim reader As MySqlDataReader

    If e.PaymentSuccess = True Then
        Try
            mydbcon.Open()
            Dim Query As String
            Query = "select * from itemstored"
            COMMAND = New MySqlCommand(Query, mydbcon)
            reader = COMMAND.ExecuteReader()
            While reader.Read
                insertTranscation(reader.GetString("itemname"), reader.GetString("price"))
            End While
            DeleteItemStored()
            PrintReceipt()
            reader.Close()
            reader.Dispose()
            mydbcon.Close()
        Catch ex As Exception
            MessageBox.Show(ex.StackTrace)
        End Try
    End If

在这里忽略mysql。这不是主要问题。

1 个答案:

答案 0 :(得分:2)

如果您不告诉对话框,则不会显示该对话框。您忘记在代码中拨打printdialog.ShowDialog(),并且在检查之前也从未将result设置为任何内容。

这是一个简单的解决方法:

Dim result As DialogResult = printdialog.ShowDialog()