Lire en anglais

Partager via


Icon.FromHandle(IntPtr) Méthode

Définition

Important

Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.

Crée un Icon GDI+ à partir du handle Windows spécifié en icône (HICON).

public static System.Drawing.Icon FromHandle (IntPtr handle);

Paramètres

handle
IntPtr

Handle Windows vers une icône.

Retours

La Icon cette méthode crée.

Exemples

L’exemple de code suivant est conçu pour être utilisé avec Windows Forms et nécessite PaintEventArgse, qui est un paramètre du gestionnaire d’événements Paint. Le code effectue les actions suivantes :

  • Crée un Bitmap.

  • Dessine cet objet à l’écran.

  • Obtient un handle d’icône pour le Bitmap.

  • Définit l’attribut Form.Icon du formulaire sur une icône créée à partir du handle.

  • Appelle la fonction API Windows DestroyIcon pour libérer des ressources.


[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = CharSet.Auto)]
extern static bool DestroyIcon(IntPtr handle);

private void GetHicon_Example(PaintEventArgs e)
{

    // Create a Bitmap object from an image file.
    Bitmap myBitmap = new Bitmap(@"c:\FakePhoto.jpg");

    // Draw myBitmap to the screen.
    e.Graphics.DrawImage(myBitmap, 0, 0);

    // Get an Hicon for myBitmap.
    IntPtr Hicon = myBitmap.GetHicon();

    // Create a new icon from the handle. 
    Icon newIcon = Icon.FromHandle(Hicon);

    // Set the form Icon attribute to the new icon.
    this.Icon = newIcon;

    // You can now destroy the icon, since the form creates
    // its own copy of the icon accessible through the Form.Icon property.
    DestroyIcon(newIcon.Handle);
}

Remarques

Lorsque vous utilisez cette méthode, vous devez supprimer l’icône d’origine à l’aide de la méthode DestroyIcon dans l’API Windows pour vous assurer que les ressources sont publiées.

S’applique à

Produit Versions
.NET 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9