处理WebBrowser.ShowPrintDialog()关闭事件,没有" SHDocVw"

时间:2017-06-21 12:43:29

标签: c# webbrowser-control activex activexobject axwebbrowser

要打印文档,我创建了单独的WindowsApplication,每次我要打印任何文档时,我将该路径作为参数调用该应用程序,而打印应用程序的代码如下:

public static void Print(string path)
{
    WebBrowser wb = new WebBrowser();
    wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
    wb.Navigate(path);
}

public static void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    WebBrowser wb = (WebBrowser)sender;
    if (wb.ReadyState.Equals(WebBrowserReadyState.Complete))
    {
        ((SHDocVw.WebBrowser)wb.ActiveXInstance).PrintTemplateTeardown += Print_PrintTemplateTeardown;
        wb.ShowPrintDialog();
    }
}

void Print_PrintTemplateTeardown(object pDisp)
{
    _Application.Exit();
}

当我调用Print aaplication时,使用" WebBrowser"控制它加载文档并使用" wb.ShowPrintDialog();"显示打印对话框。 单击打印或取消时打印对话框我收到PrintTemplateTeardown事件,我要求应用程序退出(关闭应用程序)。

现在我要删除" SHDocVw"由于在通过Internet在客户端计算机上安装时出现一些安全问题,我的打印应用程序的依赖性。

如果我删除" SHDocVw",是否有任何备用事件或解决方案可以让我知道PrintDialog已关闭?

0 个答案:

没有答案