private bool modifyPrinter(ListBoxPrinter printer) { if (printer == null) { return(false); } // Initialize PrintDialog to use printer's Queue and Ticket System.Windows.Controls.PrintDialog pd = new System.Windows.Controls.PrintDialog(); pd.PrintQueue = printer.Printer.Queue; // pd.PrintTicket = printer.Ticket; pd.UserPageRangeEnabled = false; if (pd.ShowDialog() == false) { return(false); } // TODO FIXME This doesn't check that the printer is actually the same printer! It could be an invalid ticket! printer.Printer.Ticket = pd.PrintTicket; /* * printer.Dialog.UserPageRangeEnabled = false; * * // Show the dialog; if the user clicks Cancel, return. * if (printer.Dialog.ShowDialog() == false) return false; * * var pc = printer.Dialog.PrintQueue.GetPrintCapabilities(); * // Save the ticket only if the user hits Print * printer.Ticket = printer.Dialog.PrintTicket; */ return(true); }
private void okButton_Click(object sender, RoutedEventArgs e) { SelectedPrinter = (ListBoxPrinter)PrinterListBox.SelectedItem; // If nothing is selected, don't close the box. if (SelectedPrinter == null) { return; } PrinterListBox.Items.Remove(SelectedPrinter); DialogResult = true; }
private void cancelButton_Click(object sender, RoutedEventArgs e) { SelectedPrinter = null; DialogResult = false; }