Pregunta

Usando .NET 2.0 con WinForms, me gustaría crear un menú personalizado de varias columnas (similar a la palabra apariencia y sensación de 2007, pero sin la cinta).

Mi enfoque fue crear un control y, utilizando una barra de herramientas acoplada izquierda/derecha, construí una apariencia similar de un menú.Sin embargo, esta solución tiene algunas deficiencias, como

  • el control sólo se puede colocar y mostrar dentro del formulario;
  • si el formulario es demasiado pequeño, algunas áreas del control no se mostrarán;
  • el control también debe mostrarse/ocultarse manualmente.

Por lo tanto, estoy buscando una manera de mostrar este control fuera de los límites de la aplicación.La creación de un nuevo formulario provocaría que la barra de título se desactivara en la pantalla, por lo que eso también está descartado.Alternativamente, cualquier otra forma de crear un menú personalizado sería bienvenida.

Editar:No quiero utilizar ningún producto comercial para esto;y dado que se trata de una simple personalización del menú, no está relacionado de ninguna manera con la "investigación" de la cinta de Microsoft.

¿Fue útil?

Solución

La clase MenuStrip tiene una propiedad Renderer.Puede asignar su propia clase derivada de ToolStripRenderer para personalizar la pintura.Es una buena cantidad de trabajo.

Otros consejos

  • A menos que esté en el negocio de proporcionar componentes .net, debería intentar comprarlos en el mercado.Es mucho trabajo lograr que ese control sea correcto: ya existen proveedores que ofrecen este tipo de interfaz de usuario.p.ej. Componente uno
  • Si está intentando crear este componente como un producto, debe consultar el siguiente enlace.Aparentemente, Microsoft tiene una licencia "libre de regalías" para la interfaz de usuario de Office para proteger sus inversiones en I+D.A partir de ahora debes decirles que estás usando algo similar a la interfaz de usuario de Office. Más de eso aquí
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top