2

我正在尝试使用 axwebBrowser 控件在网页中选择一个选项。

我知道如何选择一个值,这是我的代码:mshtml.IHTMLElement ddlid1b = doc.getElementById("id56"); ddlid1b.children[3].SetAttribute("selected", "selected");

之后,我触发了如下所示的更改事件

var el3 = (ddlid1b 作为 IHTMLElement3); el3.​​FireEvent("onchange");

但是有一个问题,当值改变时网站自动刷新,所以当我使用我的代码时,选择框中的值改变了,但网站没有刷新。

是否可以像在 .aspx pages 中一样回发页面。

我该如何进行这项工作?

先感谢您

4

1 回答 1

1

最后我用时间控制解决了这个问题。

完成下拉选择事件后,我们需要启动计时器

mshtml.IHTMLElement ddlid1b = doc.getElementById("id56"); ddlid1b.children[3].SetAttribute("selected", "selected"); var el3 = (ddlid1b 作为 IHTMLElement3); el3.​​FireEvent("onchange");

Timer.Start();

在 Tick 事件中,我们需要下载并进行操作

  private void timer1_Tick(object sender, EventArgs e)
    {           
       try
        {

                timer1.Stop();
                mshtml.HTMLDocument doc1 = (mshtml.HTMLDocument)axWebBrowserClaims.Document;
                IHTMLElementCollection col = doc1.forms;

                mshtml.HTMLDocument doc3 = (mshtml.HTMLDocument)axWebBrowserClaims.Document;
                string html2 = doc3.body.innerHTML;

                mshtml.IHTMLElement ddlStates = doc3.getElementById("ddlStates");
                ddlStates.children[1].SetAttribute("selected", "selected");


                mshtml.IHTMLElement txtDistrict = doc3.getElementById("txtDistrict");
                txtDistrict.innerText = "Khammam";

                mshtml.IHTMLElement btnSubmit = doc3.getElementById("btnSubmit");
                btnSubmit.click();
            }

        }
        catch (Exception ex)
        {
        }
    }

谢谢...

于 2015-02-17T09:38:45.087 回答