2011-09-05 16 views
7

Estoy trabajando en una aplicación de escritorio C#. Estoy usando un menu strips control en el que he usado un drop down button.¿Cómo se configura el tamaño del botón ToolStripDropdown para coincidir con el tamaño del botón desplegable principal?

Cada vez que se hace clic en el menú desplegable, se muestran los elementos, pero el ancho del menú desplegable parece ser el problema, siempre es mayor. Quiero que sea del mismo tamaño que el del botón.

Aquí está una captura de pantalla:

Screenshot

Lo que yo estoy luchando para configurar:

  1. Quiero que el ancho del menú desplegable para ser el mismo que el del botón.
  2. La flecha del menú desplegable debe ser más grande.
  3. El botón debe ser curvilíneo, no de estilo plano, es un botón ToolStripDropdown.
+0

¿Estás hablando de WPF, Silverlight, Windows Forms o ...? – WaltiD

+0

¿AutoSize == verdadero? – Blau

+2

Ese no es un control apropiado en una tira de menú. Fue diseñado para ser utilizado en una ToolStrip. Y se ajusta automáticamente a la altura de la tira de la herramienta. Tendrá un tamaño fijo en una tira de menú, ya que no puede cambiar su altura, está preestablecido por el tamaño de la Fuente. –

Respuesta

1

Desafortunadamente van contra la corriente para este control, y usted tendrá que recurrir a sus propios controles o pintura personalizada a Obtén exactamente lo que quieres.

Debería poder cambiar la forma/tamaño de la flecha desplegable utilizando pintura personalizada. Debería poder restringir el tamaño del menú desplegable anulando el control. Sin embargo, como el menú desplegable tiene espacio para tics y atajos, sospecho que es posible que necesite hacer más trabajo de lo que esperaba.

Aquí hay un par de punteros que le puede ser útil: http://connect.microsoft.com/VisualStudio/feedback/details/97456/owner-drawn-toolstripcombobox

Esto sugiere utilizar el ToolStripControlHost (control) para alojar controles arbitrarios. Con un simple ejemplo en: http://alala666888.wordpress.com/2010/07/15/custom-toolstripitem/

http://www.codeproject.com/KB/static/DropDownContainer.aspx Este proyecto (aunque en VB.Net) muestra que muchos de los problemas con la escritura de sus propios controles para hacer lo mismo.

También hay este artículo sobre la escritura ToolStripRenderers: http://www.codeproject.com/KB/menus/CustomToolStripRenderer.aspx

Aquí hay otro ejemplo, a base de C# de un control personalizado: http://www.codeproject.com/KB/selection/office2003colorpicker.aspx

Cuestiones relacionadas