2016-05-14 2 views
-2

Я почти закончил с моей системой. Все, что мне нужно, - это процесс печати. К сожалению, диалоговое окно печати не появляется.vb.net - PrintDialog не отображается

Вот код для процесса печати

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 здесь. Это не главная проблема.

ответ

2

Диалог не будет отображаться, если вы не сообщите об этом. Вы забыли позвонить printdialog.ShowDialog() в свой код, и вы также никогда не устанавливали result на все, прежде чем проверять его.

Это простое исправление:

Dim result As DialogResult = printdialog.ShowDialog() 
Смежные вопросы