Winform C#如何调用下拉列表的onchange事件 [英] Winform C# how to invoke the onchange event of dropdown

查看:1087
本文介绍了Winform C#如何调用下拉列表的onchange事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为了说明我想要做的是,我正在启动一个网页,

一旦页面启动并加载,页面就会下拉,
我正在尝试选择一个值,该值被选中,但是有一个与之相关的onchange

事件,但不会被触发。任何人都可以帮我解决这个事件的问题,因为在事件发生时,还有其他控件可以启用

。目前,一旦选择下拉值,其他控件

就不会启用。



Hi, to give a gist of what i am trying to do is, I am launching a webpage,
once the page is launched and loaded, the page has a drop down,
I am trying to select a value, the value get selected but there is an onchange
event associated with it, which doesn't get fired. can anyone help me in how do i
fire that event, as upon firing of the event, there are other controls which get
enables. At present once the value in the drop down is selected, the other controls
do not get enabled.

InternetExplorer WebSiteURL = new InternetExplorer(); // created object for IR 
                WebSiteURL.Navigate("example.com"); // navigating to sign in page url
                System.Threading.Thread.Sleep(5000);
                HTMLDocument myDoc = new HTMLDocument();//creating document object to store page text
                WebSiteURL.Visible = true;
                System.Threading.Thread.Sleep(5000);
                myDoc = (HTMLDocument)WebSiteURL.Document;
                System.Threading.Thread.Sleep(5000);
                SHDocVw.WebBrowser webBrowser1 = new SHDocVw.WebBrowser();
                HtmlElement theList = webBrowser1.Document.GetElementById("ST_SEARCH_TYPE");
                if (myDoc != null)
                {
                    var dropdown = ((IHTMLElement)myDoc.all.item("ST_SEARCH_TYPE"));
                    var dropdownItems = (IHTMLElementCollection)dropdown.children;
                    foreach (IHTMLElement option in dropdownItems)
                    {
                        var value = option.getAttribute("value").ToString();
                        if (value.Equals("P"))
                            option.setAttribute("selected", "selected");
                    }
                }



这是html代码。





- 选择 -

PAN - 新/更改请求

TAN - 新/更改请求



我尝试了什么:



尝试过invokescript但没有运气。


This the html code.


-- Select --
PAN - New / Change Request
TAN - New / Change Request

What I have tried:

Have tried with invokescript but no luck.

推荐答案

webBrowser1_DocumentComplete(...)事件:
var htmlDocument = webBrowser1.Document as IHTMLDocument2;
  if (myDoc!= null)
  {
     var dropdown = ((IHTMLElement)myDoc.all.item("ST_SEARCH_TYPE"));
     var dropdownItems = (IHTMLElementCollection)dropdown.children;

     foreach(IHTMLElement option in dropdownItems)
     {
        var value = option.getAttribute("value").ToString();
        if(value.Equals("P"))
           option.setAttribute("selected", "selected");
     }

  }


请查看此



使用Microsoft.mshtml.dll和SHDocVw [ ^ ]


这篇关于Winform C#如何调用下拉列表的onchange事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆