2011-02-15 3 views
1

프린터 대화 상자를 표시하고 싶지만 다음 코드를 실행하면 ShowPrinterDialog가 열려있는 동안 바로 인쇄됩니다. 즉, 인쇄하기 전에 ShowPrinterDialog가 닫힐 때까지 기다리지 않습니다.웹 브라우저로 대화 상자 표시

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(); 
} 

수정 방법에 대한 의견이 있으십니까? 당신이 WebBrowserDocumentCompletedEventArgs를 사용하지 않는 경우

답변

5

그냥 더 후 캐스팅하지 마십시오 단지 EventArgs

  • 로 선언, .Print() ;-)

  • 0
    • 와 마지막 줄을 제거

    예 :

    void Browser_DocumentCompleted(object sender, EventArgs e) 
    { 
        WebBrowser browser = (WebBrowser)sender; 
        browser.ShowPrinterDialog(); 
        browser.Print(); 
    }