Propiedades del menú desplegable
-
06-07-2019 - |
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.
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 ColorTable
.
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.