我有一個 winforms 應用程式,我想在其中通過System.Windows.Forms.WebBrowser控制元件顯示列印預覽。
這是我的助手類:
using System;
using System.Windows.Forms;
namespace Hobbysta.App.Controls.Print
{
public class PrintingContent
{
private readonly string htmlContent;
public PrintingContent(string htmlContent)
{
this.htmlContent = htmlContent;
}
public void ShowPreview()
{
ExecuteBrowserAction(b => b.ShowPrintPreviewDialog());
}
private void ExecuteBrowserAction(Action<WebBrowser> action)
{
var browser = new WebBrowser();
browser.DocumentCompleted = (_, __) =>
{
action(browser);
browser.Dispose();
};
browser.DocumentText = htmlContent;
}
}
}
我從一個帶有按鈕的表單中呼叫它:
private void button1_Click(object sender, EventArgs e)
{
var result = new PrintingContent("TEST PRINT");
result.ShowPreview();
}
結果,創建了新視窗,我可以在選項卡上看到它,但無論如何都無法顯示它。單擊微型沒有任何作用。
我在這里錯過了什么?
uj5u.com熱心網友回復:
它不起作用,因為你已經處理了它。注釋掉(洗掉):
browser.Dispose();
private void ExecuteBrowserAction(Action<WebBrowser> action)
{
var browser = new WebBrowser();
browser.DocumentCompleted = (_, __) =>
{
action(browser);
//browser.Dispose();
};
browser.DocumentText = htmlContent;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/357987.html
