我差不多完成了我的系统。我需要完成的只是打印过程。可悲的是,打印对话框没有出现。
以下是打印过程的代码
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。这不是主要问题。
答案 0 :(得分:2)
如果您不告诉对话框,则不会显示该对话框。您忘记在代码中拨打printdialog.ShowDialog()
,并且在检查之前也从未将result
设置为任何内容。
这是一个简单的解决方法:
Dim result As DialogResult = printdialog.ShowDialog()