不知道我试图实现的是否可能,但我试图在CefSharp winforms中创建自定义下载的栏。CEFSharp Winforms调用处理程序的窗体上的控件
我已经在我的主窗体上创建了一个控件,我想在文件下载完成后可见,我遇到的问题是我无法从DownloadHandler中引用窗体。
如果我创建窗体的新实例,它将打开一个新的空白窗体,我不想要。
这是我的代码。
class DownloadHandler: IDownloadHandler
{
public event EventHandler<DownloadItem> OnBeforeDownloadFired;
public event EventHandler<DownloadItem> OnDownloadUpdatedFired;
public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
{
var handler = OnBeforeDownloadFired;
if (handler != null)
{
handler(this, downloadItem);
}
if (!callback.IsDisposed)
{
using (callback)
{
callback.Continue(downloadItem.SuggestedFileName, showDialog: true);
}
}
}
public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
{
var handler = OnDownloadUpdatedFired;
if (handler != null)
{
handler(this, downloadItem);
}
///This is where i want to make the control visible but i cant seem to reference it.
panelDownloads.Visible = true;
}
}
那么事件OnDownloadUpdatedFired注册? – Abhishek