最近做一个winform项目,在里面用了webbrowser控件进行html文档打印,遇到了标题所示问题。根据查到的一些资料,在调试》异常》查找中输入“System.Runtime.InteropServices.COMException”,勾选查找到的项目后的复选框。重新调试程序,终于爆出了真正的问题:试图吊销一个未注册的拖放目标 (异常来自 HRESULT:0x80040100 (DRAGDROP_E_NOTREGISTERED))。
查看原来的代码:
browser.DocumentText = text;
browser.Print();
该段代码做如下修改后问题解决:
browser.DocumentText = ""; // 不加这一句,Document对象可能为null,导致下一句代码出错
browser.Document.Write(text);
browser.Print();