public void Dispose()
{
_disposed = true;
foreach (var browser in _browserCacheForDifferentPaperSizes)
{
if (browser.Value.InvokeRequired)
{
browser.Value.Invoke((Action)(() => {
browser.Value.DocumentCompleted -= _browser_OnDocumentCompleted;
browser.Value.Dispose();
}));
}
else
{
browser.Value.DocumentCompleted -= _browser_OnDocumentCompleted;
browser.Value.Dispose();
}
}
_browserCacheForDifferentPaperSizes.Clear();
_theOnlyOneAllowed = null;
GC.SuppressFinalize(this);
}