具有Late Bind对象/属性名称的WebBrowser问题

use*_*ser 5 browser vb.net late-binding

使用与对象/属性名称生成相关的WebBrowser后期绑定调用存在问题.

例如:

WebBrowser1.Document.DomDocument.Forms.Myform.mycontrol.Value = "test"
Run Code Online (Sandbox Code Playgroud)

将使用多个WebBrowser控件实例失败

实际发生的是mycontrol对象变为Mycontrol并且编译后的vb.net应用程序将失败并出现错误

找不到会员.(来自HRESULT的异常:0x80020003(DISP_E_MEMBERNOTFOUND))Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object o,Type objType,String name,Object [] args,String [] paramnames,Boolean [] CopyBack)at Microsoft.VisualBasic. CompilerServices.NewLateBinding.LateGet(Object Instance,Type Type,String MemberName,Object [] Arguments,String [] ArgumentNames,Type [] TypeArguments,Boolean [] CopyBack)位于C:\ Projects\WebBrowser\SampleCall.vb中的Execute() :第16行

这个问题有什么解决方案吗?

相同的代码适用于具有多个WebBrowser控件的vb6应用程序

编辑:此代码与以下内容混合:选项严格关闭

bug*_*sle 0

尝试以不同的方式设置该值:
WebBrowser1.Document.Forms("Myform").children("mycontrol").Value = "test"