我刚刚安装了ie9,现在我的程序使用mshtml的IHTMLStyle不再可以投放。
所以我几乎已经
了class Style { mshtml.HTMLStyle mStyle; Style(mshtml.IHTMLStyle style) { mStyle = style as mshtml.HTMLStyle } }
它曾经工作,但现在mStyle总是最终为null。我尝试做一个显式的强制转换,即(mshtml.HTMLStyle)样式,但最终没有工作,因为它说实际的样式类型是一个System .__ ComObject,当我知道它曾经在我安装ie9之前投射得很好。
这听起来像其他任何人遇到的一样吗?
答案 0 :(得分:1)
使用以后与'dynamic'绑定 像这样:
dynamic mStyle;
void Stylex(mshtml.IHTMLStyle style)
{
mStyle = style;
string test = "";
//don't work
test = (mStyle as IHTMLStyle).border;
//work fine
test = mStyle.border;
}
private void Test()
{
var doc = (HTMLDocument)this.editorWebBrowser.Document;
this.Stylex(doc.body.style);
}