Estoy tratando de alinear a la derecha un control en a StatusStrip
. ¿Cómo puedo hacer eso?
No veo una propiedad para establecer en los ToolStripItem
controles que especifique su alineación física en el padre StatusStrip
.
c#
winforms
statusstrip
Eric Schoonover
fuente
fuente
Respuestas:
Lo encontré a través de foros de MSDN casi inmediatamente después de la publicación :)
Puede utilizar a
ToolStripLabel
para pseudo alinear controles a la derecha estableciendo laText
propiedad enstring.Empty
y estableciendo laSpring
propiedad entrue
. Esto hará que llene todo el espacio disponible y empuje todos los controles a la derecha delToolStripLabel
superior.fuente
StatusStrip.LayoutStyle == ToolStripLayoutStyle.Table
(que es el predeterminado)Alignment
propiedad, porque no hizo nada en mi solicitud.Para mí, tomó dos simples pasos:
MyRightIntendedToolStripItem.Alignment
enRight
MyStatusStrip.LayoutStyle
enHorizontalStackWithOverflow
fuente
Como nota adicional, esto se debe al hecho de que en la API de Win32 una celda tiene un ancho fijo o llena el espacio restante -1
Si la memoria no me falla, puede tener solo una celda de relleno (-1) por barra de estado.
También puede agregar una tercera celda en el medio y darle a esto la propiedad de relleno para obtener una barra de estado de apariencia más coherente. Consistente porque Mensajes tiene un recuadro a su izquierda derecha donde lo esperaría. Un poco como el disparo de mspaint que se encuentra en la página de MSDN para StatusBars
Sin embargo, me gusta la aplicación creativa: D
fuente
Puede mostrar el
Button
al final delStatusStrip
utilizando la lógica siguiente.ToolstripLabel
alStatusStrip
string.Empty
Padding
para elToolstripLabel
Por ejemplo:
fuente
Mantenga una etiqueta de Tooltrip, establezca la propiedad Spring como verdadera y para la etiqueta alinee el texto en BottomLeft
fuente
Descubrí que puede establecer el diseño de StatusStrip en HorizontalStackWithOverflow. Luego, para cada control en el StatusStrip que desee en el lado derecho, configure el control Alignment a Right.
Me gusta más esto ya que no necesita ningún control adicional o ficticio para alinear.
fuente
Encuentro una forma general de establecer la ubicación de un control en
StatusStrip
. Puede mostrar el botón en cualquier posición delStatusStrip
mediante los pasos a continuación.Establezca el texto como una cantidad adecuada de espacio como
Si el diseño no es lo que desea, vaya al paso 2 para cambiar la cantidad de espacio
toolStripStatusLabel1.Text
; de lo contrario, se habrá hecho el trabajo.fuente
Establezca la propiedad de la tira de herramientas RightToLeft en True.
fuente