【问题标题】:Onchange event not triggered while using setattribute to select value of drop down使用 setattribute 选择下拉列表的值时未触发 Onchange 事件
【发布时间】:2019-03-04 09:50:46
【问题描述】:

我正在尝试使用 Windows 窗体应用程序来自动执行一些浏览器(Internet Explorer)任务。

在这里,我试图从可用的下拉列表中选择一个值,这是通过使用webbrowser1.set attribute("","") 选项实现的。

但是一旦我通过这种方式选择了该选项,该下拉文本框的 on change 事件就不会被触发,而当我返回并手动选择选项时它工作正常。

因此,如果我使用 set 属性选项,这里不会触发 onchange 事件,所以有人可以建议我如何选择所需的值并仍然触发 onchange 事件。

下面是sn-p:

private void button4_Click(object sender, EventArgs e) {
    webBrowser1.Document
               .GetElementById("ctl00$MainContentPlaceHolder$ddl_Reports")
               .SetAttribute("value", "EmployeeInformationReport"); 
}

请建议?

【问题讨论】:

    标签: c# winforms internet-explorer web-controls


    【解决方案1】:

    您应该在 DocumentCompleted 事件之后使用文档的 AttachEventHandler api 附加到事件处理程序:

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        webBrowser1.Document.AttachEventHandler("nameoftheevent", eventHandler);
    }
    private void eventHandler(object sender, EventArgs e)
    {
        //Do whatever you want
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多