0

当我尝试从 C# Web 浏览器使用打印预览时,窗口是打开的,但大小很小。最后的期望是窗口最大化

在这里我附上一个片段:

public void execPrint(String url) {
            System.Windows.Forms.WebBrowser ie = new System.Windows.Forms.WebBrowser();
            ie.DocumentCompleted += Ie_DocumentCompleted;
            ie.Navigate(url);
            ie.Visible = false;
}

private void Ie_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
{
            System.Windows.Forms.WebBrowser ie = (System.Windows.Forms.WebBrowser)sender;           
            ie.ShowPrintPreviewDialog();
}
4

2 回答 2

0

打印预览对话框显示小尺寸如下:

这是因为它的父“ie”WebBrowser 没有任何父容器。

只需将 WebBrowser 应用到当前窗口窗体,使其全屏显示。

public void execPrint(String url)
{
    System.Windows.Forms.WebBrowser ie = new System.Windows.Forms.WebBrowser();
    this.Controls.Add(ie);
    ie.ScriptErrorsSuppressed = true;
    ie.DocumentCompleted += Ie_DocumentCompleted;
    ie.Navigate(url);
    ie.Visible = false;
}

private void Ie_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
{
    System.Windows.Forms.WebBrowser ie = (System.Windows.Forms.WebBrowser)sender;
    ie.ShowPrintPreviewDialog();

}

你可以看到我只输入了一行this.Controls.Add(ie);,它现在显示预览对话框的最大化窗口。

检查这个:

我希望它对你有帮助。

谢谢

于 2018-08-16T07:32:00.507 回答
0

要解决此问题,请调整包含 Web 浏览器的表单的大小。Web 浏览器打印预览大小与父表单相同。例如,如果您想要全屏打印预览:

this.Winsowstate = System.Windows.Forms.FormWindowState.Maximaized;

webbrowser1.ShowPrintPreviewDialog();

this.Windowstate = System.Windows.Forms.FormWindowState.Normal;
于 2020-11-29T08:36:11.087 回答