我想在WebBrowser.DocumentCompleted
事件处理程序中调用一些方法,如下所示:
private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
anotherMethodToBeCalled();
}
private void anotherMethodToBeCalled()
{
//doing something which needs to identify the sender
browser...
}
是的,我当然可以直接将anotherMethodToBeCalled
的行为放入WebBrowser1_DocumentCompleted
。
但我希望将该方法分开,以使代码易于阅读。 这是一个动态的多标签WinForms浏览器,因此特定的发件人浏览器不能通过静态命名。
如何将senderBrowser放入anotherMethodToBeCalled()?
答案 0 :(得分:0)
你的问题几乎回答了自己:-)。您需要在方法中添加方法参数,并将事件的sender
传递给它:
private void WebBrowser1_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
AnotherMethodToBeCalled( ( WebBrowser )sender );
}
private void AnotherMethodToBeCalled( WebBrowser browser )
{
//doing something which needs to identify the sender
//browser.DoSomething();
}
触发DocumentCompleted
事件的浏览器位于事件处理程序的sender
参数中。要获取WebBrowser
的实例,您需要将其强制转换为该类型。