WebBrowser.Navigating イベント

定義

WebBrowser コントロールが新しいドキュメントに移動する前に発生します。Occurs before the WebBrowser control navigates to a new document.

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 

次のコード例は、Web ページフォームが入力さNavigatingれていない場合に、イベントのハンドラーを使用してナビゲーションをキャンセルする方法を示しています。The following code example demonstrates how to use a handler for the Navigating event to cancel navigation when a Web page form has not been filled in. Documentプロパティは、フォーム入力フィールドに値が含まれているかどうかを判断するために使用されます。The Document property is used to determine whether the form input field contains a value.

この例では、フォームにとWebBrowserいうwebBrowser1コントロールが含まれている必要がComVisibleAttributeあります。また、フォームクラスには、COM からアクセスできるようにするためのが用意されています。This example requires that your form contains a WebBrowser control called webBrowser1 and that your form class has a ComVisibleAttribute making it accessible to COM.

次のコードをに貼り付けることができる完全なコード例については、「方法:Windows フォームアプリケーションに Web ブラウザー機能を追加します。For a complete code example that you can paste the following code into, see How to: Add Web Browser Capabilities to a Windows Forms 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は、次のいずれかのプロパティが設定されるか、メソッドが呼び出されるたびに、新しいドキュメントに移動します。The WebBrowser control navigates to a new document whenever one of the following properties is set or methods is called:

特定の条件がNavigating満たされていない場合 (ユーザーがフォームを完全に入力していない場合など) は、イベントを処理してナビゲーションを取り消すことができます。You can handle the Navigating event to cancel navigation if certain conditions have not been met, for example, when the user has not completely filled out a form. ナビゲーションをキャンセルするにはCancel 、イベントハンドラー WebBrowserNavigatingEventArgsに渡されるオブジェクトのプロパティをtrueに設定します。To cancel navigation, set the Cancel property of the WebBrowserNavigatingEventArgs object passed to the event handler to true. また、このオブジェクトを使用して、 WebBrowserNavigatingEventArgs.Urlプロパティを使用して新しいドキュメントの URL を取得することもできます。You can also use this object to retrieve the URL of the new document through the WebBrowserNavigatingEventArgs.Url property. 新しいドキュメントが Web ページフレームに表示される場合は、 WebBrowserNavigatingEventArgs.TargetFrameNameプロパティを使用してフレームの名前を取得できます。If the new document will be displayed in a Web page frame, you can retrieve the name of the frame through the WebBrowserNavigatingEventArgs.TargetFrameName property.

コントロールがWebBrowserナビゲーションを終了し、新しい場所でドキュメントの読み込みを開始したときに通知を受信するイベントを処理します。NavigatedHandle the Navigated event to receive notification when the WebBrowser control finishes navigation and has begun loading the document at the new location. コントロールがWebBrowser新しいドキュメントの読み込みを終了したときに通知を受信するようにイベントを処理します。DocumentCompletedHandle the DocumentCompleted event to receive notification when the WebBrowser control finishes loading the new document.

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.

セキュリティ

SecurityPermission
直前の呼び出し元がこのコントロールを使用できるようにします。for immediate callers to use this control. 要求の値LinkDemand:、名前付きアクセス許可セット: FullTrustDemand value: LinkDemand; Named Permission Sets: FullTrust.

適用対象

こちらもご覧ください