在 C# WebBrowser 控件中,我使用 w.RenderBeginTag(HtmlTextWriterTag.Select) 生成了一个带有许多 OPTION 元素的 SELECT HtmlElement。
我需要在用户更改时获取选择的值,因此在 WebBrowser DocumentCompleted 事件中添加了一个事件处理程序。
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
....
webBrowser1.Document.GetElementById("id_select_0").AttachEventHandler("onchange", new EventHandler(ddSelectedIndexChanged));
....
}
protected void ddSelectedIndexChanged(object sender, EventArgs e)
{
....
}
事件处理程序确实被调用,但 sender 参数为空且 e 为空。 有谁知道如何克服这个问题?
安德鲁
最佳答案
不可能从 DHTML 事件中获取事件参数,因为事件处理程序是通用的 EventHandler 类。另一种方法是从 IHTMLEventObj 获取参数,此对象包含与 HtmlElementEventArgs 相同的事件参数:
private void Element_OnChange(object sender, EventArgs e)
{
IHTMLEventObj ev = (webBrowser1.Document.Window.DomWindow as IHTMLWindow2).@event;
}
关于c# - 如何在 C# webBrowser 控件中获取 SELECT HtmlElement 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2929043/