WebBrowser.Navigating Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 true
ayarlayı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.