Actualización: noviembre 2007
Permite que el usuario navegue las páginas Web del formulario.
Ensamblado: System.Windows.Forms (en System.Windows.Forms.dll)
<ComVisibleAttribute(True)> _ <ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _ <DockingAttribute(DockingBehavior.AutoDock)> _ <PermissionSetAttribute(SecurityAction.InheritanceDemand, Name := "FullTrust")> _ <PermissionSetAttribute(SecurityAction.LinkDemand, Name := "FullTrust")> _ Public Class WebBrowser _ Inherits WebBrowserBase
Dim instance As WebBrowser
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] [DockingAttribute(DockingBehavior.AutoDock)] [PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")] [PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")] public class WebBrowser : WebBrowserBase
[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
/** @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
public class WebBrowser extends WebBrowserBase
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.
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.
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. |
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.
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.
' 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
// 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 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(); }
-
SecurityPermission
para que los llamadores inmediatos utilicen este control. Valor de la petición: LinkDemand; Conjuntos de permisos con nombre: FullTrust.
-
SecurityPermission
para que las clases derivadas hereden este control. Valor de la petición: InheritanceDemand; Conjuntos de permisos con nombre: FullTrust.
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.WebBrowserBase
System.Windows.Forms.WebBrowser
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.
Nota importante:
Nota: