DekGenius.com
[ Team LiB ] Previous Section Next Section

Iconserializable, marshal by reference, disposable

System.Drawing (system.drawing.dll)sealed class

This class, which is not derived from the Image class (whatever may be implied by parts of the documentation shipped with VS.NET 2002!), represents a small, transparent bitmap—a Win32 icon, in fact. As such, it intrinsically supports a variety of different resolutions and bit-depths.

As with Bitmap, this is a resource-based class, and therefore you should carefully manage its lifetime, calling Dispose() when it is no longer needed, to avoid leaking system resources.

You can construct an Icon from a file, or from another Icon optionally looking for the image that best matches a particular resolution.

The FromHandle() static method, and the Handle property allow you translate to and from native icon handles in interop scenarios. (Note that you must not delete the handle retrieved from this property as it is the original, not a copy)

Finally, you can translate the Icon to a Bitmap with the ToBitmap() method.

Note that you have very little control over the particular image, resolution, and bit-depth that is ultimately rendered by the Graphics.DrawIcon() method. If you need that degree of control, then a Bitmap and its Bitmap.MakeTransparent() method might be a better choice. The icon is something of a hang-over from the days when bitmaps didn't have alpha channels.

public sealed class Icon : MarshalByRefObject : 
System.Runtime.Serialization.ISerializable, ICloneable, IDisposable {
// Public Constructors
   public Icon(Icon original, int width, int height);
   public Icon(Icon original, Size size);
   public Icon(System.IO.Stream stream);
   public Icon(System.IO.Stream stream, int width, int height);
   public Icon(string fileName);
   public Icon(Type type, string resource);
// Public Instance Properties
   public IntPtr Handle{get; }
   public int Height{get; }
   public Size Size{get; }
   public int Width{get; }
// Public Static Methods
   public static Icon FromHandle(IntPtr handle);
// Public Instance Methods
   public object Clone();  // implements ICloneable
   public void Dispose();  // implements IDisposable
   public void Save(System.IO.Stream outputStream);
   public Bitmap ToBitmap();
   public override string ToString();  // overrides object
// Protected Instance Methods
   protected override void Finalize();  // overrides object
}

Hierarchy

System.Object System.MarshalByRefObject Icon(System.Runtime.Serialization.ISerializabl, System.ICloneable, System.IDisposable)

Returned By

Multiple types

Passed To

Graphics.{DrawIcon(), DrawIconUnstretched()}, System.Windows.Forms.Design.ComponentEditorPage.Icon, System.Windows.Forms.ErrorProvider.Icon, System.Windows.Forms.Form.Icon, System.Windows.Forms.ImageCollection.Add(), System.Windows.Forms.NotifyIcon.Icon, System.Windows.Forms.PrintPreviewDialog.Icon, System.Windows.Forms.StatusBarPanel.Icon

    [ Team LiB ] Previous Section Next Section