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;