Question

Je veux afficher une boîte de dialogue d'impression, mais lorsque j'exécute le code suivant, il imprime tout de suite tandis que la ShowPrinterDialog est ouvert.En d'autres termes, il n'attendez pas pour le ShowPrinterDialog pour fermer avant de l'imprimer.

WebBrowser browser = new WebBrowser();
browser.DocumentText = "<b>Stack Overflow FTW!</b>";
browser.DocumentCompleted += Browser_DocumentCompleted;

void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    ((WebBrowser)sender).ShowPrinterDialog();
    ((WebBrowser)sender).Print();
}

Toutes les idées sur la façon de résoudre ce problème?

Était-ce utile?

La solution

Retirez simplement la dernière ligne avec .print (); -)

Autres conseils

  • Si vous n'utilisez pas WebBrowserDocumentCompletedEventArgs, de la déclarer comme EventArgs
  • Ne jette pas plus d'une fois

c'est à dire:

void Browser_DocumentCompleted(object sender, EventArgs e)
{
     WebBrowser browser = (WebBrowser)sender;
     browser.ShowPrinterDialog();
     browser.Print();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top