2012-07-14 17 views
16

¿Cómo agrego un icono como en la captura de pantalla siguiente dentro de un botón? Parece que no puedo encontrar cómo hacerlo.¿Icono dentro del botón?

http://i.stack.imgur.com/6HGcK.jpg

+3

Gracias Dante por agregar la imagen :) – alexy12

+0

¿Propiedad de la imagen? –

+12

WinForms, WPF, web ??? –

Respuesta

1

WPF (y Silverlight) está ofreciendo un control llamado Image. Como su nombre lo indica, es un contenedor que puede contener una imagen en su interior. Utilice un control tal de representar el icono que desea y luego se coloca dentro de su Button a través de su Content propiedad

como aquí:

<Button x:Name="btn_ControlRun"> 
    <StackPanel Orientation="Horizontal"> 
     <Image Stretch="Fill" Source="right.png"/> 
     <Label Content="Start Tasks" /> 
    </StackPanel> 
</Button> 
+0

Punto menor, tiene las posiciones de Etiqueta e Imagen invertidas en comparación con los requisitos del OP. – Surfbutler

+0

corregido @Surfbutler :) –

5

Prueba esto:

<Button> 
     <StackPanel Orientation="Horizontal"> 
      <Image Source="/Image/ok.png" /> 
      <TextBlock Text="Start Tasks" /> 
     </StackPanel> 
    </Button> 
19

En WinForms usar Button.Image (MSDN) del siguiente modo:

private void SetMyButtonIcon() 
{ 
    // Assign an image to the button. 
    button1.Image = Image.FromFile("C:\\Graphics\\My.ico"); 
    // Align the image and text on the button. 
    button1.ImageAlign = ContentAlignment.MiddleRight;  
    button1.TextAlign = ContentAlignment.MiddleLeft; 
} 

y se puede utilizar Button.TextImageRelation de propiedades para establecer el position of text and image respecto a la otra:

  • Overlay: Imagen y compartir el mismo espacio de texto en un control.
  • ImageBeforeText: la imagen se muestra horizontalmente antes del texto de un control.
  • TextBeforeImage: el texto se muestra horizontalmente antes de la imagen de un control.
  • ImageAboveText: la imagen se muestra verticalmente encima del texto de un control.
  • TextAboveImage: el texto se muestra verticalmente encima de la imagen de un control.
+0

Si coloca texto y alineación de imagen en MiddleLeft y coloca algunos caracteres de espacio delante de las propiedades de texto, es posible hacer que el botón se autosize y cambie su texto de forma dinámica para que se ajuste perfectamente, y la imagen no anula el botón de texto. – Larry

6

Si coloca el botón en el formulario, puede hacer clic derecho sobre él y hacer clic en Propiedades y luego ir a "Imagen" y colocar la imagen que desee, ir a la parte inferior y hacer clic en "Relación Imagen de texto" y haga clic en el menú desplegable y luego haga clic en "ImageBeforeText", puede hacerlo como desee, pero personalmente me gusta la imagen antes de enviar el texto de la mejor manera.

Espero que esto ayude.

+0

Sí, funciona, pero ¿cómo cambiar el tamaño de la imagen para ajustar/strech? – AKS

Cuestiones relacionadas