c# - statusstrip label text
¿Cómo alineo correctamente los controles en un StatusStrip? (6)
Como nota adicional, esto se debe al hecho de que en la API de Win32 una celda tiene ancho fijo o llena el espacio restante -1
int statwidths[] = {100, -1};
SendMessage(hStatus, SB_SETPARTS, sizeof(statwidths)/sizeof(int), (LPARAM)statwidths);
SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)"Hi there :)");
Si la memoria me sirve correctamente, puede tener solo una celda de relleno (-1) por barra de estado.
También podría agregar una tercera celda intermedia y otorgarle la propiedad de relleno para obtener una Barra de estado más concisa. Consistente porque Mensajes tiene un recuadro a su izquierda, donde lo esperaría. Un poco como la toma mspaint encontrada en la página MSDN para StatusBars
Aunque me gusta la aplicación creativa: D
StatusStrip
alinear correctamente un control en un StatusStrip
. ¿Cómo puedo hacer eso?
No veo una propiedad para configurar en controles ToolStripItem
que especifica su alineación física en el StatusStrip
principal.
¿Cómo hago que los mensajes desplegables estén alineados a la derecha? http://i.friendfeed.com/ed90b205f64099687db30553daa79d075f280b90
Dado que la respuesta fue aceptada, ahora hay una manera mucho más fácil. Simplemente configure la propiedad de tira de herramienta RightToLeft en True.
Encuentro una forma general de establecer la ubicación de un control en StatusStrip
. Puede mostrar el botón en cualquier posición en la StatusStrip
de estado mediante los siguientes pasos.
- Agregue una etiqueta Toolstrip a StatusStrip
Establecer texto como una cantidad adecuada de espacio como
toolStripStatusLabel1.Text = "";
Si el diseño no es lo que desea, vaya al paso 2 para cambiar la cantidad de espacio en
toolStripStatusLabel1.Text
, de lo contrario, se habrá realizado el trabajo.
Lo encontré a través de los foros de MSDN casi inmediatamente después de la publicación :)
Puede usar ToolStripLabel
para pseudo alinear controles al establecer la propiedad Text
en string.Empty
y establecer la propiedad Spring
en true
. Esto hará que ocupe todo el espacio disponible y empujará todos los controles a la derecha de ToolStripLabel
.
Mensajes alineados a la derecha http://i.friendfeed.com/f2fc7799d0897a4e835eedde83416f50c245cd6d
Mantenga una etiqueta Toolstrip, configure la propiedad Spring como verdadera y para el texto de alineación de etiquetas en BottomLeft
Puede mostrar el Button
al final de la StatusStrip
de estado usando la lógica a continuación.
- Agregue una
ToolstripLabel
aStatusStrip
- Establecer texto como
string.Empty
- Establecer
Padding
paraToolstripLabel
Por ejemplo:
this.toolStripStatusLabel1.Padding = new Padding((int)(this.Size.Width - 75), 0, 0, 0);