2011-02-01 7 views

Respuesta

17

Mediante el uso de Icon.ToBitmap()

Bitmap b = SystemIcons.Error.ToBitmap(); 

EDIT:

Tres años más tarde y uno upvote más, me siento obligado a dirigir a las personas que sólo quieren sacar el icono de un objeto gráfico a lea la respuesta de @ Hans Passant. Es una mejor solución.

+0

Como nota al margen, esto requiere .NET 3.5 o posterior. –

+0

@Evan: Eso no es cierto http://msdn.microsoft.com/en-US/library/system.drawing.icon_methods%28v=VS.80%29.aspx –

+0

Eso es más fácil de lo esperado. Gracias. –

7

Tengo que farfullarme ante el terrible desperdicio de quemar recursos tan costosos como una ventana de Control y Windows, solo para dibujar un icono pequeño. Para guardar una línea de código:

protected override void OnPaint(PaintEventArgs e) { 
     e.Graphics.DrawIcon(SystemIcons.Error, 10, 10); 
     base.OnPaint(e); 
    } 
+0

Correcto, asumiendo que por supuesto solo necesita dibujarlo, no manipularlo o hacer cualquier otra cosa para la que necesite una Imagen. En ese caso, "sputter" de distancia: D –

+0

Hah. Bueno saber. Gracias. –

+0

@EdS - sputter, si quieres efectos especiales, entonces usarás Graphics.FromImage() y * todavía * usa DrawIcon(). Pero lo admito por falta de imaginación. ¿Tiene un uso realista? –

Cuestiones relacionadas