WebBrowser.Navigating Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terjadi sebelum WebBrowser kontrol menavigasi ke dokumen baru.
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
Jenis Acara
Contoh
Contoh kode berikut menunjukkan cara menggunakan handler agar Navigating acara membatalkan navigasi saat formulir halaman Web belum diisi. Properti Document digunakan untuk menentukan apakah bidang input formulir berisi nilai.
Contoh ini mengharuskan formulir Anda berisi kontrol yang WebBrowser disebut webBrowser1
dan kelas formulir Anda memiliki ComVisibleAttribute membuatnya dapat diakses oleh COM.
Untuk contoh kode lengkap yang dapat Anda tempelkan kode berikut, lihat Cara: Menambahkan Kemampuan Browser Web ke Aplikasi Formulir Windows.
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
Keterangan
WebBrowser Kontrol menavigasi ke dokumen baru setiap kali salah satu properti berikut diatur atau metode dipanggil:
Anda dapat menangani Navigating peristiwa untuk membatalkan navigasi jika kondisi tertentu belum terpenuhi, misalnya, ketika pengguna belum sepenuhnya mengisi formulir. Untuk membatalkan navigasi, atur Cancel properti objek yang WebBrowserNavigatingEventArgs diteruskan ke penanganan aktivitas ke true
. Anda juga dapat menggunakan objek ini untuk mengambil URL dokumen baru melalui WebBrowserNavigatingEventArgs.Url properti . Jika dokumen baru akan ditampilkan dalam bingkai halaman Web, Anda dapat mengambil nama bingkai melalui WebBrowserNavigatingEventArgs.TargetFrameName properti .
Navigated Tangani peristiwa untuk menerima pemberitahuan saat WebBrowser kontrol selesai navigasi dan telah mulai memuat dokumen di lokasi baru. DocumentCompleted Tangani peristiwa untuk menerima pemberitahuan ketika WebBrowser kontrol selesai memuat dokumen baru.
Untuk informasi selengkapnya tentang menangani peristiwa, lihat Menangani dan Menaikkan Peristiwa.