WebBrowser.Navigating イベント
この記事の内容
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
WebBrowser コントロールが新しいドキュメントに移動する前に発生します。
public:
event System::Windows::Forms::WebBrowserNavigatingEventHandler ^ Navigating;
public event System.Windows.Forms.WebBrowserNavigatingEventHandler Navigating;
public event System.Windows.Forms.WebBrowserNavigatingEventHandler? Navigating;
member this.Navigating : System.Windows.Forms.WebBrowserNavigatingEventHandler
Public Custom Event Navigating As WebBrowserNavigatingEventHandler
Public Event Navigating As WebBrowserNavigatingEventHandler
次のコード例では、イベントのハンドラーを使用して、 Navigating Web ページ フォームが入力されていない場合にナビゲーションを取り消す方法を示します。 プロパティは Document 、フォーム入力フィールドに値が含まれているかどうかを判断するために使用されます。
この例では、フォームに というコントロールwebBrowser1
がWebBrowser含まれており、フォーム クラスに ComVisibleAttribute COM からアクセスできるようにする が必要です。
次のコードを貼り付けることができる完全なコード例については、「How to: Add Web Browser Capabilities to a Windows フォーム Application」を参照してください。
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.DocumentText =
"<html><body>Please enter your name:<br/>" +
"<input type='text' name='userName'/><br/>" +
"<a href='http://www.microsoft.com'>continue</a>" +
"</body></html>";
webBrowser1.Navigating +=
new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
}
private void webBrowser1_Navigating(object sender,
WebBrowserNavigatingEventArgs e)
{
System.Windows.Forms.HtmlDocument document =
this.webBrowser1.Document;
if (document != null && document.All["userName"] != null &&
String.IsNullOrEmpty(
document.All["userName"].GetAttribute("value")))
{
e.Cancel = true;
System.Windows.Forms.MessageBox.Show(
"You must enter your name before you can navigate to " +
e.Url.ToString());
}
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
Handles Me.Load
webBrowser1.DocumentText = _
"<html><body>Please enter your name:<br/>" & _
"<input type='text' name='userName'/><br/>" & _
"<a href='http://www.microsoft.com'>continue</a>" & _
"</body></html>"
End Sub
Private Sub webBrowser1_Navigating( _
ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs) _
Handles webBrowser1.Navigating
Dim document As System.Windows.Forms.HtmlDocument = _
webBrowser1.Document
If document IsNot Nothing And _
document.All("userName") IsNot Nothing And _
String.IsNullOrEmpty( _
document.All("userName").GetAttribute("value")) Then
e.Cancel = True
MsgBox("You must enter your name before you can navigate to " & _
e.Url.ToString())
End If
End Sub
コントロールは WebBrowser 、次のいずれかのプロパティが設定されるか、メソッドが呼び出されるたびに、新しいドキュメントに移動します。
ユーザーがフォームに Navigating 完全に入力していない場合など、特定の条件が満たされていない場合は、イベントを処理してナビゲーションを取り消すことができます。 ナビゲーションを取り消すには、イベント ハンドラーにCancelWebBrowserNavigatingEventArgs渡されるオブジェクトの プロパティを にtrue
設定します。 このオブジェクトを使用して、 プロパティを使用して WebBrowserNavigatingEventArgs.Url 新しいドキュメントの URL を取得することもできます。 新しいドキュメントが Web ページ フレームに表示される場合は、 プロパティを使用してフレームの名前を WebBrowserNavigatingEventArgs.TargetFrameName 取得できます。
コントロールがナビゲーションを Navigated 終了し、新しい場所でドキュメントの WebBrowser 読み込みを開始したときに通知を受け取るイベントを処理します。 コントロールが新しいドキュメントの DocumentCompleted 読み込みを完了したときに通知を WebBrowser 受け取るイベントを処理します。
イベントの処理の詳細については、「処理とイベントの発生」を参照してください。