Cette documentation est archivée et n’est pas conservée.

WebBrowser, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Permet à l'utilisateur de naviguer dans des pages Web à l'intérieur de votre formulaire.

Espace de noms : System.Windows.Forms
Assembly : System.Windows.Forms (dans system.windows.forms.dll)

[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class WebBrowser : WebBrowserBase
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class WebBrowser extends WebBrowserBase
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class WebBrowser extends WebBrowserBase

Le contrôle WebBrowser vous permet d'héberger des pages Web et d'autres documents compatibles avec un navigateur dans vos applications Windows Forms. Vous pouvez utiliser le contrôle WebBrowser, par exemple, pour fournir une assistance utilisateur HTML intégrée ou des fonctionnalités de navigation Web dans votre application. En outre, vous pouvez utiliser le contrôle WebBrowser pour ajouter vos contrôles Web existants à vos applications clientes Windows Forms.

RemarqueImportant :

Le contrôle WebBrowser consomme beaucoup de ressources. Assurez-vous d'appeler la méthode Dispose lorsque vous avez terminé d'utiliser le contrôle afin de garantir que toutes les ressources sont libérées en temps voulu. Vous devez appeler la méthode Dispose sur le même thread que celui qui a joint les événements, qui doit toujours être le thread de message ou d'interface utilisateur.

Le contrôle WebBrowser ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.

Le contrôle WebBrowser possède plusieurs propriétés, méthodes et événements liés à la navigation. Les membres suivants vous permettent de faire naviguer le contrôle vers une URL spécifique, de reculer ou d'avancer dans l'historique de navigation et de charger la page d'accueil et la page de recherche de l'utilisateur actuel :

Si la navigation n'aboutit pas, une page indiquant le problème s'affiche. La navigation avec chacun de ces membres déclenche les événements Navigating, Navigated et DocumentCompleted à différentes étapes de la navigation.

Ces événements et d'autres membres, tels que les méthodes Stop et Refresh, vous permettent d'implémenter dans votre application des contrôles d'interface utilisateur similaires à ceux d'Internet Explorer. Certains membres sont utiles même lorsque vous ne souhaitez pas afficher le contrôle WebBrowser sur votre formulaire. Par exemple, vous pouvez utiliser la méthode Print pour imprimer la dernière version d'une page Web sans afficher la page à l'utilisateur.

Le contrôle WebBrowser vous permet également d'afficher un contenu que vous créez dans votre application ou récupérez d'une base de données ou d'un fichier de ressources. Utilisez la propriété DocumentText ou DocumentStream pour obtenir ou définir le contenu du document actif sous la forme d'une chaîne ou d'un flux de données.

Vous pouvez également manipuler le contenu d'une page Web via la propriété Document qui contient un objet HtmlDocument qui fournit l'accès managé au modèle objet de document HTML (DOM) pour la page active. Lorsqu'elle est associée à la propriété ObjectForScripting, cette propriété sert à implémenter la communication bidirectionnelle entre votre code d'application et votre code DHTML dans une page Web et vous permet de combiner les contrôles Web et Windows Forms dans une même interface utilisateur. Vous pouvez utiliser la propriété Document pour appeler des méthodes d'écriture du code de votre application. Votre code de script peut accéder à votre application via l'objet window.external qui est un objet DOM intégré chargé de l'accès hôte et qui établit une correspondance avec l'objet que vous spécifiez pour la propriété ObjectForScripting.

RemarqueRemarque

Cette classe effectue des demandes de sécurité au niveau de la classe. Une exception SecurityException est levée lorsqu'une classe dérivée ou un appelant dans la pile des appels ne dispose pas d'une autorisation avec un niveau de confiance total. Pour plus d'informations sur les demandes de sécurité, consultez Demandes de liaison et Demandes d'héritage.

RemarqueRemarque

La classe WebBrowser peut être utilisée uniquement dans les threads en mode STA (Single Thread Apartment). Pour utiliser cette classe, vérifiez que votre méthode Main est marquée avec l'attribut STAThreadAttribute.

Remarque sur la plate-forme Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows CE : Les fonctionnalités complètes pour le WebBrowser dans les applications .NET Compact Framework requièrent la Windows Mobile version 5.0 pour Pocket PC et Smartphones. Pour plus d'informations, consultez Comment : utiliser le contrôle WebBrowser dans le .NET Compact Framework.

L'exemple de code suivant montre comment implémenter une barre d'adresses pour une utilisation avec le contrôle WebBrowser. Cet exemple requiert que votre formulaire contienne un contrôle WebBrowser nommé webBrowser1, un contrôle TextBox nommé TextBoxAddress et un contrôle Button nommé ButtonGo. Lorsque vous entrez une URL dans la zone de texte et que vous appuyez sur ENTRÉE ou cliquez sur le bouton Aller à, le contrôle WebBrowser accède à l'URL spécifiée. Lorsque vous naviguez en cliquant sur un lien hypertexte, la zone de texte se met automatiquement à jour pour afficher l'URL actuelle.

Pour obtenir l'exemple de code complet, consultez Comment : ajouter des fonctionnalités de navigateur Web à une application Windows Forms.

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

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

.NET Compact Framework

Prise en charge dans : 2.0
Afficher: