在程序中直接使用this.axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_SHOWFIND,...)的确会报错,错误信息是"Trying to revoke a drop target that has not been registered"。 产生此错误的原因是IWebBrowser2::ExecWB()函数本身不支持OLECMDID_SHOWFIND,其设计即如此,并非你使用错误所致。包括OLECMDID_SHOWFIND 以及OLECMDID_FIND 在内,共有21个OLECMDID是不能用在IWebBrowser2::ExecWB() 中的。此外余下的OLECMDID都可以正常使用,包括OLECMDID_REFRESH等。 使用SendKeys.Send("^f")是一个替代方案,用如下代码即可呼出"查找"对话框: using mshtml;
using AxSHDocVw; HTMLDocument document = (HTMLDocument)axWebBrowser1.Document;
document.focus();
SendKeys.Send("^f");
using AxSHDocVw; HTMLDocument document = (HTMLDocument)axWebBrowser1.Document;
document.focus();
SendKeys.Send("^f");
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货