WebBrowser.Navigating Olay

Tanım

Denetim yeni bir belgeye gitmeden önce WebBrowser gerçekleşir.

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 

Olay Türü

Örnekler

Aşağıdaki kod örneği, web sayfası formu doldurulmadığında gezintiyi iptal etmek için olay işleyicisinin Navigating nasıl kullanılacağını gösterir. Document özelliği, form giriş alanının bir değer içerip içermediğini belirlemek için kullanılır.

Bu örnek, formunuzun adlı webBrowser1 bir WebBrowser denetim içermesini ve form sınıfınızın ComVisibleAttribute COM için erişilebilir olmasını gerektirir.

Aşağıdaki kodu yapıştırabileceğiniz eksiksiz bir kod örneği için bkz. Nasıl yapılır: Windows Forms Uygulamasına Web Tarayıcısı Özellikleri Ekleme.

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

Açıklamalar

Denetim WebBrowser , aşağıdaki özelliklerden biri ayarlandığında veya yöntemler çağrıldığında yeni bir belgeye gider:

Örneğin, kullanıcı formu tamamen doldurmamışsa, belirli koşullar karşılanmadıysa gezintiyi iptal etmek için olayı işleyebilirsiniz Navigating . Gezintiyi Cancel iptal etmek için olay işleyicisine geçirilen nesnenin WebBrowserNavigatingEventArgs özelliğini olarak trueayarlayın. Bu nesneyi, özelliği aracılığıyla yeni belgenin URL'sini WebBrowserNavigatingEventArgs.Url almak için de kullanabilirsiniz. Yeni belge bir Web sayfası çerçevesinde görüntülenecekse, özelliği aracılığıyla WebBrowserNavigatingEventArgs.TargetFrameName çerçevenin adını alabilirsiniz.

Denetim gezintiyi Navigated bitirdiğinde WebBrowser ve belgeyi yeni konuma yüklemeye başladığında bildirim almak için olayı işleyebilirsiniz. Denetim yeni belgeyi DocumentCompleted yüklemeyi tamamladığında WebBrowser bildirim almak için olayı işleyebilirsiniz.

Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.

Şunlara uygulanır

Ayrıca bkz.