ActiveX: окно открыто, но не развернуто при попытке использовать предварительный просмотр из веб-браузера C#

Когда я пытался использовать предварительный просмотр из веб-браузера C #, окно было открыто, но его размер был небольшим. окончательное ожидание состоит в том, что окно развернуто

здесь я прилагаю фрагмент:

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

1 ответ

Диалоговое окно "Предварительный просмотр" имеет небольшой размер, как показано ниже:

Это связано с тем, что его родительский "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); и теперь он показывает развернутое окно для предварительного просмотра.

Проверь это:

Я надеюсь, что это будет полезно для вас.

Спасибо

Чтобы решить эту проблему, измените размер формы, которая включает веб-браузер. Размер предварительного просмотра в веб-браузере такой же, как у родительской формы. Например, если вам нужен полноэкранный предварительный просмотр печати:

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

webbrowser1.ShowPrintPreviewDialog();

this.Windowstate = System.Windows.Forms.FormWindowState.Normal;
Другие вопросы по тегам