Esporta (0) Stampa
Espandi tutto

Classe WebBrowser

Aggiornamento: novembre 2007

Consente all'utente di spostarsi nelle pagine Web all'interno del form.

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in 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 : 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

Il controllo WebBrowser consente di inserire pagine Web e altri documenti abilitati per il browser nelle applicazioni Windows Form. Il controllo WebBrowser può essere utilizzato, ad esempio, per fornire a un'applicazione assistenza all'utente integrata, basata su HTML o funzionalità di browser. Il controllo WebBrowser, inoltre, può essere utilizzato per aggiungere i controlli esistenti basati sul Web ad applicazioni client Windows Form.

Nota importante:

Il controllo WebBrowser richiede un intenso consumo di risorse. Assicurarsi di chiamare il metodo Dispose() una volta terminato l'utilizzo del controllo per accertarsi che tutte le risorse vengano rilasciate con tempestività. Il metodo Dispose() deve essere chiamato nello stesso thread associato agli eventi, che deve essere sempre il messaggio o il thread dell'interfaccia utente.

Il controllo WebBrowser non può essere utilizzato da codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.

Il controllo WebBrowser dispone di numerose proprietà, metodi ed eventi correlati allo spostamento. I membri seguenti del controllo consentono di posizionarsi su un URL specifico, di retrocedere e avanzare nell'elenco della cronologia degli spostamenti e di caricare la home page e la pagina di ricerca dell'utente corrente:

Se lo spostamento ha esito negativo, verrà visualizzata una pagina nella quale è indicato il problema. Lo spostamento eseguito con uno di questi membri determina la generazione degli eventi Navigating, Navigated e DocumentCompleted in stadi diversi dello spostamento.

Questi e altri membri, quali i metodi Stop e Refresh, consentono di implementare nella propria applicazione controlli dell'interfaccia utente simili a quelli di Internet Explorer. Alcuni membri sono utili anche se non si vuole visualizzare il controllo WebBrowser nel form. Il metodo Print, ad esempio, può essere utilizzato per stampare la versione più recente di una pagina Web senza che questa venga visualizzata all'utente.

Il controllo WebBrowser consente inoltre di visualizzare il contenuto creato nell'applicazione o recuperato da un file di database o di risorse. Utilizzare la proprietà DocumentText o DocumentStream per ottenere o impostare il contenuto del documento corrente come stringa o flusso di dati.

È inoltre possibile modificare il contenuto di una pagina Web mediante la proprietà Document, che contiene un oggetto HtmlDocument che fornisce l'accesso gestito al modello DOM (Document Object Model) HTML per la pagina corrente. Questa proprietà, se utilizzata in combinazione con la proprietà ObjectForScripting, è utile per implementare una comunicazione bidirezionale tra il codice dell'applicazione e il codice HTML dinamico (DHTML) di una pagina Web, consentendo di combinare controlli basati sul Web e controlli Windows Form in un'unica interfaccia utente. La proprietà Document può essere utilizzata per chiamare metodi del codice di script dall'applicazione. Il codice di script può accedere all'applicazione mediante l'oggetto window.external, che è incorporato nell'oggetto DOM che consente l'accesso all'host e che esegue il mapping all'oggetto specificato per la proprietà ObjectForScripting.

Nota:

Questa classe esegue richieste di sicurezza a livello di classe. Se una classe derivata o qualsiasi chiamante nello stack di chiamate non dispone dell'autorizzazione di attendibilità totale, viene generata un'eccezione SecurityException. Per maggiori dettagli sulle richieste di sicurezza, vedere Richieste di collegamento e Richieste di ereditarietà.

Nota:

La classe WebBrowser può essere utilizzata solamente nei thread impostati sulla modalità Single Thread Apartment (STA). Per utilizzare questa classe, assicurarsi che il metodo Main sia contrassegnato con l'attributo STAThreadAttribute.

Nota sulla piattaforma Windows Mobile per Pocket PC, Windows Mobile per Smartphone, Windows CE:

La funzionalità completa di WebBrowser nelle applicazioni .NET Compact Framework richiede il software Windows Mobile versione 5.0 per Pocket PC e Smartphone. Per ulteriori informazioni, vedere Procedura: utilizzare il controllo WebBrowser in .NET Compact Framework.

Nell'esempio di codice riportato di seguito viene dimostrata l'implementazione di una barra degli indirizzi da utilizzare nel controllo WebBrowser. Per eseguire questo esempio è necessario che il form utilizzato contenga un controllo WebBrowser denominato webBrowser1, un controllo TextBox denominato TextBoxAddress e un controllo Button denominato ButtonGo. Quando si digita un URL nella casella di testo e si preme INVIO o si sceglie il pulsante Vai, l'URL specificato viene visualizzato dal controllo WebBrowser. Quando si effettua uno spostamento facendo clic su un collegamento ipertestuale, la casella di testo viene aggiornata automaticamente con l'URL corrente.

Per l'esempio di codice completo, vedere Procedura: aggiungere funzionalità del browser Web a un'applicazione Windows Form.

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


Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

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 per Smartphone, Windows Mobile per Pocket PC

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0

.NET Compact Framework

Supportato in: 3.5, 2.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft