Pregunta

¿Alguien sabe si, y cómo puedo cambiar el color de la tira de imágenes en un simple menú desplegable en Visual Studio 2008? Actualmente, con un menú desplegable, tengo mi propia colección de artículos, y al lado de cada uno en el menú desplegable hay una tira de imágenes, que actualmente es de color gris con un degradado claro a oscuro. Estoy ansioso por saber si este color se puede cambiar o eliminar por completo. Gracias de antemano chicos, Craig.

¿Fue útil?

Solución

Asumiré que preguntas sobre winforms, ya que no sé sobre WPF.

Si solo desea ocultar la tira de imagen, puede configurar ShowImageMargin y ShowCheckMargin propiedades a falso. Sin embargo, no podrá mostrar imágenes para sus elementos de menú.

Al menos en XP, configurando La propiedad RenderMode del menú desplegable de ToolStripRenderMode.System le dará un menú sin ninguna decoración de margen de imagen; aunque puede no coincidir con el estilo visual de su aplicación.

Si establece un BackColor para cada uno de los elementos de su menú, el margen de la imagen se oscurecerá.

Para ocultar el margen de la imagen sin cambiar el estilo visual del menú desplegable, deberá crear un renderizador con un OnRenderImageMargin , así:

class MyRenderer : ToolStripProfessionalRenderer
{
    protected virtual void OnRenderImageMargin(ToolStripRenderEventArgs e)
    {
        // do nothing
    }
}

y luego configure el menú desplegable Renderizador propiedad a una instancia de la nueva clase de renderizador. Puede cambiar el color del margen de la imagen de manera similar modificando la ColorTable .

del renderizador.

Pero, antes de hacer cualquiera de estos, pregúntese:

  • ¿Existe un beneficio de usabilidad para cambiar la interfaz a algo menos familiar?
  • Si lo hay, ¿es este beneficio mayor que el beneficio de mantener su código simple para que pueda responder rápidamente a los comentarios de los usuarios?

La respuesta a la primera pregunta suele ser 'No'.

Otros consejos

Puede realizar este comportamiento creando una subclase de ToolStripRenderer y anulando los métodos de representación apropiados. Consulte MSDN para ver ejemplos.

Supongo que está buscando una solución WinForms. Para WPF / Xaml, la solución es, por supuesto, completamente diferente y se puede lograr cambiando las plantillas de control.

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