Pregunta

Usted sabe que esos botones selector de color con un pequeño rectángulo en ella, mostrando el color seleccionado en ese momento? Al igual que en los productos de MS Office.

Me gustaría implementar uno usando C # / .NET. Así que tengo un pequeño icono agradable con un rectángulo de color magenta (que es para mostrar el color) y un fondo transparente.

Me puede pensar en dos maneras de cómo esto se podría hacer, pero son ambos no muy elegante:

  • Editar el icono usando el software de gráficos para tener un color de fondo sólido en lugar de cambiar el tamaño de la transparencia y que era exactamente tan grande como el botón que lo contiene. Esto permitiría utilizar TransparentColor = Manenta en combinación con el fondo de botón, sin embargo, el icono tendría que ser editado cuando el tamaño del botón, la barra de herramientas BackColor o algo más cambia.
  • Editar el icono de programación siempre que se seleccione un nuevo color. el trabajo lo haría, pero parece un poco a lo complejo (en relación con el desarrollo y el rendimiento) para mí.

Así. Tal vez me estoy perdiendo la manera obvia, fácil de implementar botón tal? Gracias de antemano por cualquier consejos / sugerencias / inspiración:)

¿Fue útil?

Solución 2

Obviamente, no hay una solución elegante. Elegí el primero de ellos, utilizando la transparencia PNG y BackColor, con el inconveniente de tener que colorear el fondo png como el fondo del panel que contiene. Parece ser menos dolorosa de esta manera.

Otros consejos

Puede reemplazar fácilmente el método OnPaint y dibujar un rectángulo con cualquier color que desee.

No veo ninguna razón para utilizar un icono, PNG, o cualquier otro recurso de imagen para esto. Eso parece una completa pérdida de recursos.

Sólo dibujar las cajas de código, dibujando los colores que actualmente forman parte de la lista de colores del control. Idealmente, su control permitirá la persona que llama para añadir sus propios colores. Y no requeriría ninguna perder el tiempo con las imágenes.

Me acaba de utilizar una dibujado por propietario cuadro combinado cuando hice esto , pero hice un cuadro de color que estoy describiendo. Muy fácil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top