繁体   English   中英

如何使用C#从BHO中的ihtmlelement按钮单击调用ac#方法?

[英]How to call a c# method from ihtmlelement button click in BHO using c#?

我正在BHO中为IE编程。我已经创建了一个button.I想要在该按钮中单击click.how来调用方法。

这是我的代码:

htmlFormCollection = objDocument.getElementsByTagName("*");
                                if (htmlFormCollection.length > 0)
                                {
                                    foreach (IHTMLElement ihtmlCollectionClass in htmlFormCollection)
                                    {
                                        htmlElementsCollection = (IHTMLElementCollection)ihtmlCollectionClass.all;
                                        foreach (IHTMLElement ihtmlBtnAddClass in htmlElementsCollection)
                                        {

                                            if (ihtmlBtnAddClass.className == "n1tfz")
                                            {

                                                if (flagVal)
                                                {
                                                    IHTMLDOMNode divNode = (IHTMLDOMNode)ihtmlBtnAddClass;
                                                    var tbl = objDocument.createElement("table");
                                                    var tblBody = objDocument.createElement("tbody");
                                                    var tabr = objDocument.createElement("tr"); 
                                                    var tabd = objDocument.createElement("td");
                                                    var newDiv=objDocument.createElement("div"); 
                                                    newDiv.setAttribute("id","innerdiv11");
                                                    var Encryptbutton = objDocument.createElement("input");
                                                    Encryptbutton.setAttribute("type", "button");
                                                    Encryptbutton.setAttribute("value", "Encrypt");
                                                    Encryptbutton.setAttribute("id", "Encr1");
                                                    Encryptbutton.style.backgroundColor = "#4d90fe";
                                                    Encryptbutton.style.border = "#4787ed";
                                                    Encryptbutton.style.color = "White";
                                                    Encryptbutton.style.fontSize = "11px";
                                                    Encryptbutton.style.fontFamily = "arial,sans-serif";
                                                    Encryptbutton.style.width = "47pt";

                                                    //Encryptbutton.onclick = ComposeEncrypt();
                                                    //Encryptbutton.click();
                                                    IHTMLDOMNode newDivVal = (IHTMLDOMNode)newDiv;
                                                    IHTMLDOMNode tabdVal = (IHTMLDOMNode)tabd;
                                                    IHTMLDOMNode tabrVal = (IHTMLDOMNode)tabr;
                                                    IHTMLDOMNode tblBodyVal = (IHTMLDOMNode)tblBody;
                                                    IHTMLDOMNode tblVal = (IHTMLDOMNode)tbl;
                                                    newDivVal.appendChild((IHTMLDOMNode)Encryptbutton);
                                                    tabdVal.appendChild((IHTMLDOMNode)newDivVal);
                                                    tabrVal.appendChild((IHTMLDOMNode)tabdVal);
                                                    tblBodyVal.appendChild((IHTMLDOMNode)tabrVal);
                                                    tblVal.appendChild((IHTMLDOMNode)tblBodyVal);

                                                    IHTMLDOMNode divNode1 = (IHTMLDOMNode)ihtmlBtnAddClass;
                                                    IHTMLElement head = (IHTMLElement)((IHTMLElementCollection)objDocument.all.tags("head")).item(null, 0);

                                                    divNode.insertBefore((IHTMLDOMNode)Encryptbutton, divNode.firstChild);
                 //Encryptbutton.InvokeMember("click");
                                                    flagVal = false;
                                                }

                                            }
                                            if (!flagVal)
                                                break;
                                        }

                                    }
                                }

方法:

public void myfunc()
{
   Messgebox.show("hai");
}

我想在Encryptbutton click事件中调用myfunc()。如何调用它。

谢谢三句

我知道了。

HTMLButtonElementEvents_Event htmlButtonEvent = Encryptbutton1 as HTMLButtonElementEvents_Event;
htmlButtonEvent.onclick += new HTMLButtonElementEvents_onclickEventHandler(ComposeEncrypt_onclick);

方法:

bool ComposeEncrypt_onclick()
{
MessageBox.show("hai");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM