0

誰かが WebBrowser コントロール内のハイパーリンクをクリックした場合、そのハイパーリンクの URL を取得し、ブラウザに新しいタブ/ウィンドウでリンクを開くように指示する属性があるかどうかを確認するためにどのような方法を使用できますか? Windows フォーム アプリケーション。

4

1 に答える 1

0

プロパティを使用して、現在ユーザー入力フォーカスがある要素を取得できDocument.ActiveElementます。

private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
    e.Cancel = true;

    if (webBrowser1.Document != null)
    {
        HtmlElement currentElement = webBrowser1.Document.ActiveElement;
        if (currentElement != null)
        {
            string targetPath = currentElement.GetAttribute("href");

            //You can perform some logic here to determine if the targetPath conformsto your specification and if so...
            MainForm newWindow = new MainForm();
            newWindow.webBrowser1.Navigate(targetPath);
            newWindow.Show(); 

           //Otherwise
           //webBrowser1.Navigate(targetPath);

        }
    }
}
于 2013-01-21T19:08:28.703 に答える