2011-09-12 45 views
26

Tengo un botón y quiero que exista una imagen (archivo .ico) y texto en él. Mi problema es que quiero que la altura del botón sea pequeña, pero no puedo "encoger" la imagen tanto como quiero. El resultado es tener una pieza de imagen visible en el botón y no en la imagen del agujero. En la propiedad de la imagen, el tamaño de la imagen es fijo (48x48) y la opción es gris, por lo que no puedo cambiarla. ¿Cómo puedo hacer que esta imagen sea 16x16?¿Cómo puedo hacer que el tamaño de la imagen sea más pequeño en un botón?

Respuesta

44

Pruebe buttonname.BackgroundImageLayout = ImageLayout.Stretch; o cambie esta propiedad en el diseñador.

+1

Gracias por su respuesta, pero ya tengo lo intenté, no funciona. – alexxx

+3

Parece que configura .ico como button.image en lugar de button.backgroundimage; Por favor, avíseme si ese es el caso. – Zaphood

+0

Sí, la imagen de fondo puede estar centrada, ampliada, en mosaico, etc., y usted tenía razón, utilicé la imagen y no la de fondo. Pero lo gracioso es que utilizo exactamente las mismas propiedades y el mismo tamaño de imagen con el botón de una tira de herramientas. Pienso que estaban bien, y aquí no puedo hacer lo que quiero. Cuando uso la imagen de fondo como sugirió, "acerque" las costuras para que sean las adecuadas, pero mantiene la imagen en el centro del botón y no puede ir hacia la izquierda o hacia la derecha – alexxx

0

Si tiene la imagen con el tamaño 16 * 16, configure estas propiedades del botón en el momento del diseño. 1) TextImageRelation - ImageBeforeText 2) TextAlign - MiddleRight 3) ImageAlign - MiddleLeft 4) Ajuste el

+0

¿cuál es el número 4? 4) Establecer el ??? –

1

Creo que si se utiliza el evento pintura del botón se puede dibujar cualquier imagen en cualquier tamaño que usted querer. si no es posible cambiar el tamaño de la imagen, puede hacerlo de esta manera.

12

Mi solución fue utilizar un control ImageList. Puede definir el tamaño de las imágenes que se mostrarán (por ejemplo, establezco la propiedad ImgageList ImageSize en 16x16) y luego establecer el botón. Propiedades de ImageList y ImageIndex en lugar de la propiedad de la imagen.

+0

excelente sln. thnx – n3verLieMe

+0

creo que responde la pregunta ... Thnks –

0

Si está utilizando DevExpress simple botón, se debe configurar BackgroundImageLayout = ImageLayout.Zoom y establecer color de fondo del botón para transparente (de Appereance-> Backcolor)

Cuestiones relacionadas