WebBrowser (Clase) (System.Windows.Forms)

Cambiar vista:
Sin script
Biblioteca de clases de .NET Framework
WebBrowser (Clase)

Actualización: noviembre 2007

Permite que el usuario navegue las páginas Web del formulario.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)
Sintaxis

Visual Basic (Declaración)
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
<DockingAttribute(DockingBehavior.AutoDock)> _
<PermissionSetAttribute(SecurityAction.InheritanceDemand, Name := "FullTrust")> _
<PermissionSetAttribute(SecurityAction.LinkDemand, Name := "FullTrust")> _
Public Class WebBrowser _
	Inherits WebBrowserBase
Visual Basic (Uso)
Dim instance As WebBrowser
C#
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[DockingAttribute(DockingBehavior.AutoDock)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
public class WebBrowser : WebBrowserBase
Visual C++
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
[DockingAttribute(DockingBehavior::AutoDock)]
[PermissionSetAttribute(SecurityAction::InheritanceDemand, Name = L"FullTrust")]
[PermissionSetAttribute(SecurityAction::LinkDemand, Name = L"FullTrust")]
public ref class WebBrowser : public WebBrowserBase
J#
/** @attribute ComVisibleAttribute(true) */
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */
/** @attribute DockingAttribute(DockingBehavior.AutoDock) */
/** @attribute PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust") */
/** @attribute PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust") */
public class WebBrowser extends WebBrowserBase
JScript
public class WebBrowser extends WebBrowserBase
Comentarios

El control WebBrowser le permite alojar páginas Web y otros documentos habilitados por explorador de las aplicaciones de Windows Forms. Puede utilizar el control WebBrowser, por ejemplo, para proporcionar ayuda a los usuarios basada en HTML integrado o funcionalidad de exploración Web en la aplicación. Además, puede utilizar el control WebBrowser para agregar los controles basados en Web existentes a las aplicaciones cliente de formularios Windows Forms.

5d67hf8a.alert_caution(es-es,VS.90).gif Nota importante:

El control WebBrowser hace un uso intensivo de los recursos. No olvide llamar al método Dispose() cuando haya terminado de utilizar el control para asegurarse de que todos los recursos se liberan puntualmente. Debe llamar al método Dispose() en el mismo subproceso que asoció los eventos, que siempre debe ser el subproceso de mensaje o de la interfaz de usuario.

El código de confianza parcial no puede usar el control WebBrowser. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.

El control WebBrowser tiene varias propiedades, métodos y eventos relacionados con la navegación. Los miembros siguientes le permiten navegar el control hasta una dirección URL específica, ir hacia delante y hacia atrás por la lista del historial de navegación y cargar las páginas de inicio y búsqueda del usuario actual:

Si la navegación es incorrecta, se muestra una página que indica el problema. La navegación con cualquiera de estos miembros provoca que se produzcan los eventos Navigating, Navigated y DocumentCompleted en fases diferentes de la navegación.

Éstos y otros miembros, como los métodos Stop y Refresh, permiten implementar los controles de la interfaz de usuario en la aplicación de forma similar a los de Internet Explorer. Algunos miembros son útiles aunque no desee que se muestre el control WebBrowser en el formulario. Por ejemplo, puede utilizar el método Print para imprimir la última versión de una página Web sin mostrarla al usuario.

El control WebBrowser también le permite mostrar el contenido creado en la aplicación o recuperado de una base de datos o de un archivo de recursos. Utilice las propiedades DocumentText o DocumentStream para obtener o establecer el contenido del documento actual como cadena o secuencia de datos.

Además, puede manipular el contenido de una página Web mediante la propiedad Document, que contiene un objeto HtmlDocument que proporciona acceso administrado al Modelo de objetos de documento (DOM) HTML de la página actual. Esta propiedad es útil, cuando se utiliza en combinación con la propiedad ObjectForScripting, para implementar la comunicación bidireccional entre el código de la aplicación y el HTML dinámico (DHTML) de una página Web. De esta forma, puede combinar controles basados en Web y controles de formularios Windows Forms en una sola interfaz de usuario. Puede utilizar la propiedad Document para llamar a los métodos de código de secuencias de comandos desde la aplicación. El código de secuencias de comandos puede tener acceso a la aplicación mediante el objeto window.external, que es un objeto DOM integrado proporcionado para el acceso del host, y que se asigna al objeto especificado para la propiedad ObjectForScripting.

5d67hf8a.alert_note(es-es,VS.90).gif Nota:

Esta clase realiza peticiones de seguridad en el nivel de clase. Se produce una SecurityException cuando una clase derivada o cualquier llamador de la pila de llamadas no tiene el permiso del plena confianza. Para obtener más información sobre las peticiones de seguridad, vea Peticiones de vínculos y Peticiones de herencia.

5d67hf8a.alert_note(es-es,VS.90).gif Nota:

La clase WebBrowser sólo se puede utilizar en subprocesos establecidos en el modo de apartamento de un único subproceso (STA). Para utilizar esta clase, asegúrese de que su método Main está marcado con el atributo STAThreadAttribute.

Nota de la plataforma Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows CE:

La funcionalidad completa para WebBrowser en aplicaciones de .NET Compact Framework requiere el software de la versión 5.0 de Windows Mobile para Pocket PC y Smartphones. Para obtener más información, vea Cómo: Utilizar el control WebBrowser en .NET Compact Framework.

Ejemplos

El ejemplo de código siguiente muestra la implementación de una barra de direcciones para su uso con el control WebBrowser. En este ejemplo se requiere que haya un formulario que contenga un control WebBrowser denominado webBrowser1, un control TextBox denominado TextBoxAddress y un control Button denominado ButtonGo. Cuando escribe una dirección URL en el cuadro de texto y presiona la tecla ENTRAR o hace clic en el botón Ir, el control WebBrowser navega hasta la dirección URL especificada. Cuando navega haciendo clic en un hipervínculo, el cuadro de texto se actualiza automáticamente para mostrar la dirección URL actual.

Para obtener un ejemplo completo de código, vea Cómo: Agregar funciones de explorador Web a una aplicación de Windows Forms.

Visual Basic

' 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


C#
// 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();
}


Visual C++
// 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();
}



Permisos

Jerarquía de herencia

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Windows.Forms.Control
        System.Windows.Forms.WebBrowserBase
          System.Windows.Forms.WebBrowser
Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Plataformas

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Información de versión

.NET Framework

Compatible con: 3.5, 3.0, 2.0

.NET Compact Framework

Compatible con: 3.5, 2.0
Vea también

Referencia

Otros recursos