Udostępnij za pośrednictwem


WebBrowser.Navigated Zdarzenie

Definicja

Występuje po przejściu kontrolki WebBrowser do nowego dokumentu i rozpoczęciu ładowania go.

public:
 event System::Windows::Forms::WebBrowserNavigatedEventHandler ^ Navigated;
public event System.Windows.Forms.WebBrowserNavigatedEventHandler Navigated;
public event System.Windows.Forms.WebBrowserNavigatedEventHandler? Navigated;
member this.Navigated : System.Windows.Forms.WebBrowserNavigatedEventHandler 
Public Custom Event Navigated As WebBrowserNavigatedEventHandler 
Public Event Navigated As WebBrowserNavigatedEventHandler 

Typ zdarzenia

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą procedury obsługi zdarzenia Navigated zaimplementować pasek adresu dla kontrolki WebBrowser . Ten przykład wymaga, aby formularz zawierał kontrolkę WebBrowser o nazwie webBrowser1, kontrolkę TextBox o nazwie TextBoxAddressi kontrolkę Button o nazwie ButtonGo. Po wpiseniu adresu URL w polu tekstowym i naciśnięciu klawisza ENTER lub kliknięciu przycisku WebBrowserPrzejdź kontrolka przechodzi do określonego adresu URL. Po kliknięciu hiperłącza pole tekstowe automatycznie aktualizuje się, aby wyświetlić bieżący adres URL.

Pełny przykład kodu można znaleźć w temacie How to: Add Web Browser Capabilities to a Windows Forms Application (Instrukcje: dodawanie funkcji przeglądarki internetowej do aplikacji Windows Forms).

// Navigates to the URL in the address text box when 
// the ENTER key is pressed while the text box has focus.
void TextBoxAddress_KeyDown( Object^ /*sender*/, System::Windows::Forms::KeyEventArgs^ e )
{
   if ( e->KeyCode == System::Windows::Forms::Keys::Enter &&  !this->TextBoxAddress->Text->Equals( "" ) )
   {
      this->WebBrowser1->Navigate( this->TextBoxAddress->Text );
   }
}

// Navigates to the URL in the address text box when 
// the Go button is clicked.
void ButtonGo_Click( System::Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
   if (  !this->TextBoxAddress->Text->Equals( "" ) )
   {
      this->WebBrowser1->Navigate( this->TextBoxAddress->Text );
   }
}

// Updates the URL in TextBoxAddress upon navigation.
void WebBrowser1_Navigated( Object^ /*sender*/, System::Windows::Forms::WebBrowserNavigatedEventArgs^ /*e*/ )
{
   this->TextBoxAddress->Text = this->WebBrowser1->Url->ToString();
}
// Navigates to the URL in the address box when 
// the ENTER key is pressed while the ToolStripTextBox has focus.
private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        Navigate(toolStripTextBox1.Text);
    }
}

// Navigates to the URL in the address box when 
// the Go button is clicked.
private void goButton_Click(object sender, EventArgs e)
{
    Navigate(toolStripTextBox1.Text);
}

// Navigates to the given URL if it is valid.
private void Navigate(String address)
{
    if (String.IsNullOrEmpty(address)) return;
    if (address.Equals("about:blank")) return;
    if (!address.StartsWith("http://") &&
        !address.StartsWith("https://"))
    {
        address = "http://" + address;
    }
    try
    {
        webBrowser1.Navigate(new Uri(address));
    }
    catch (System.UriFormatException)
    {
        return;
    }
}

// Updates the URL in TextBoxAddress upon navigation.
private void webBrowser1_Navigated(object sender,
    WebBrowserNavigatedEventArgs e)
{
    toolStripTextBox1.Text = webBrowser1.Url.ToString();
}

' Navigates to the URL in the address box when 
' the ENTER key is pressed while the ToolStripTextBox has focus.
Private Sub toolStripTextBox1_KeyDown( _
    ByVal sender As Object, ByVal e As KeyEventArgs) _
    Handles toolStripTextBox1.KeyDown

    If (e.KeyCode = Keys.Enter) Then
        Navigate(toolStripTextBox1.Text)
    End If

End Sub

' Navigates to the URL in the address box when 
' the Go button is clicked.
Private Sub goButton_Click( _
    ByVal sender As Object, ByVal e As EventArgs) _
    Handles goButton.Click

    Navigate(toolStripTextBox1.Text)

End Sub

' Navigates to the given URL if it is valid.
Private Sub Navigate(ByVal address As String)

    If String.IsNullOrEmpty(address) Then Return
    If address.Equals("about:blank") Then Return
    If Not address.StartsWith("http://") And _
        Not address.StartsWith("https://") Then
        address = "http://" & address
    End If

    Try
        webBrowser1.Navigate(New Uri(address))
    Catch ex As System.UriFormatException
        Return
    End Try

End Sub

' Updates the URL in TextBoxAddress upon navigation.
Private Sub webBrowser1_Navigated(ByVal sender As Object, _
    ByVal e As WebBrowserNavigatedEventArgs) _
    Handles webBrowser1.Navigated

    toolStripTextBox1.Text = webBrowser1.Url.ToString()

End Sub

Uwagi

Kontrolka WebBrowser przechodzi do nowego dokumentu za każdym razem, gdy zostanie ustawiona jedna z następujących właściwości lub zostanie wywołana metoda:

Obsługa zdarzenia w celu otrzymywania powiadomień po przejściu NavigatedWebBrowser kontrolki do nowego dokumentu. Po wystąpieniu Navigated zdarzenia nowy dokument rozpoczął ładowanie, co oznacza, że można uzyskać dostęp do załadowanych zawartości za pośrednictwem Documentwłaściwości , DocumentTexti DocumentStream . Obsłuż zdarzenie, aby otrzymywać powiadomienie po WebBrowser zakończeniu DocumentCompleted ładowania nowego dokumentu przez kontrolkę.

Powiadomienie można również otrzymywać przed rozpoczęciem nawigacji, obsługując Navigating zdarzenie. Obsługa tego zdarzenia umożliwia anulowanie nawigacji, jeśli niektóre warunki nie zostały spełnione, na przykład użytkownik nie wypełnił całkowicie formularza.

Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.

Dotyczy

Zobacz też