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 來取消流覽。 屬性 Document 是用來判斷表單輸入欄位是否包含值。
此範例會要求表單包含 WebBrowser 名為 的 webBrowser1
控制項,而且您的表單類別具有 ComVisibleAttribute 可讓 COM 存取的 控制項。
如需您可以將下列程式碼貼入的完整程式碼範例,請參閱如何:將網頁瀏覽器功能新增至Windows Forms應用程式。
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 事件以取消流覽。 若要取消流覽,請將 Cancel 傳遞至事件處理常式之 物件的 屬性 WebBrowserNavigatingEventArgs 設定為 true
。 您也可以使用此物件,透過 WebBrowserNavigatingEventArgs.Url 屬性擷取新檔的 URL。 如果新檔會顯示在網頁框架中,您可以透過 WebBrowserNavigatingEventArgs.TargetFrameName 屬性擷取框架的名稱。
Navigated處理事件,以在控制項完成流覽時 WebBrowser 接收通知,並開始在新位置載入檔。 DocumentCompleted處理事件,以在控制項完成載入新檔時接收通知 WebBrowser 。
如需處理事件的詳細資訊,請參閱 處理和引發事件。