StatusBarPanelAutoSize Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica cómo se comporta un objeto StatusBarPanel situado en un control StatusBar cuando cambia el tamaño del control.
public enum class StatusBarPanelAutoSize
public enum StatusBarPanelAutoSize
type StatusBarPanelAutoSize =
Public Enum StatusBarPanelAutoSize
- Herencia
Campos
Contents | 3 | El ancho del StatusBarPanel lo determina su contenido. |
None | 1 | StatusBarPanel no cambia de tamaño cuando el control StatusBar cambia de tamaño. |
Spring | 2 | StatusBarPanel comparte el espacio disponible en el StatusBar (espacio no utilizado por otros paneles cuya propiedad AutoSize esté establecida en None o Contents) con otros paneles cuya propiedad AutoSize esté establecida en Spring. |
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la StatusBarPanelAutoSize enumeración y cómo controlar el PanelClick evento.
Para ejecutar el ejemplo, pegue el código siguiente en un formulario. Llame al InitializeStatusBarPanels
método en el constructor del formulario o Load en el método de control de eventos.
internal:
System::Windows::Forms::StatusBar^ statusBar1;
private:
void InitializeStatusBarPanels()
{
// Create a StatusBar control.
statusBar1 = gcnew StatusBar;
// Dock the status bar at the top of the form.
statusBar1->Dock = DockStyle::Top;
// Set the SizingGrip property to false so the user cannot
// resize the status bar.
statusBar1->SizingGrip = false;
// Associate the event-handling method with the
// PanelClick event.
statusBar1->PanelClick += gcnew StatusBarPanelClickEventHandler( this, &Form1::statusBar1_PanelClick );
// Create two StatusBarPanel objects to display in statusBar1.
StatusBarPanel^ panel1 = gcnew StatusBarPanel;
StatusBarPanel^ panel2 = gcnew StatusBarPanel;
// Set the width of panel2 explicitly and set
// panel1 to fill in the remaining space.
panel2->Width = 80;
panel1->AutoSize = StatusBarPanelAutoSize::Spring;
// Set the text alignment within each panel.
panel1->Alignment = HorizontalAlignment::Left;
panel2->Alignment = HorizontalAlignment::Right;
// Display the first panel without a border and the second
// with a raised border.
panel1->BorderStyle = StatusBarPanelBorderStyle::None;
panel2->BorderStyle = StatusBarPanelBorderStyle::Raised;
// Set the text of the panels. The panel1 object is reserved
// for line numbers, while panel2 is set to the current time.
panel1->Text = "Reserved for important information.";
panel2->Text = System::DateTime::Now.ToShortTimeString();
// Set a tooltip for panel2
panel2->ToolTipText = "Click time to display seconds";
// Display panels in statusBar1 and add them to the
// status bar's StatusBarPanelCollection.
statusBar1->ShowPanels = true;
statusBar1->Panels->Add( panel1 );
statusBar1->Panels->Add( panel2 );
// Add the StatusBar to the form.
this->Controls->Add( statusBar1 );
}
// If the user clicks the status bar, check the text of the
// StatusBarPanel. If the text equals a short time string,
// change it to long time display.
void statusBar1_PanelClick( Object^ /*sender*/, StatusBarPanelClickEventArgs^ e )
{
if ( e->StatusBarPanel->Text == System::DateTime::Now.ToShortTimeString() )
{
e->StatusBarPanel->Text = System::DateTime::Now.ToLongTimeString();
}
}
internal System.Windows.Forms.StatusBar statusBar1;
private void InitializeStatusBarPanels()
{
// Create a StatusBar control.
statusBar1 = new StatusBar();
// Dock the status bar at the top of the form.
statusBar1.Dock = DockStyle.Top;
// Set the SizingGrip property to false so the user cannot
// resize the status bar.
statusBar1.SizingGrip = false;
// Associate the event-handling method with the
// PanelClick event.
statusBar1.PanelClick +=
new StatusBarPanelClickEventHandler(statusBar1_PanelClick);
// Create two StatusBarPanel objects to display in statusBar1.
StatusBarPanel panel1 = new StatusBarPanel();
StatusBarPanel panel2 = new StatusBarPanel();
// Set the width of panel2 explicitly and set
// panel1 to fill in the remaining space.
panel2.Width = 80;
panel1.AutoSize = StatusBarPanelAutoSize.Spring;
// Set the text alignment within each panel.
panel1.Alignment = HorizontalAlignment.Left;
panel2.Alignment = HorizontalAlignment.Right;
// Display the first panel without a border and the second
// with a raised border.
panel1.BorderStyle = StatusBarPanelBorderStyle.None;
panel2.BorderStyle = StatusBarPanelBorderStyle.Raised;
// Set the text of the panels. The panel1 object is reserved
// for line numbers, while panel2 is set to the current time.
panel1.Text = "Reserved for important information.";
panel2.Text = System.DateTime.Now.ToShortTimeString();
// Set a tooltip for panel2
panel2.ToolTipText = "Click time to display seconds";
// Display panels in statusBar1 and add them to the
// status bar's StatusBarPanelCollection.
statusBar1.ShowPanels = true;
statusBar1.Panels.Add(panel1);
statusBar1.Panels.Add(panel2);
// Add the StatusBar to the form.
this.Controls.Add(statusBar1);
}
// If the user clicks the status bar, check the text of the
// StatusBarPanel. If the text equals a short time string,
// change it to long time display.
private void statusBar1_PanelClick(object sender,
StatusBarPanelClickEventArgs e)
{
if (e.StatusBarPanel.Text ==
System.DateTime.Now.ToShortTimeString())
{
e.StatusBarPanel.Text =
System.DateTime.Now.ToLongTimeString();
}
}
Friend WithEvents statusBar1 As System.Windows.Forms.StatusBar
Private Sub InitializeStatusBarPanels()
' Create a StatusBar control.
statusBar1 = New StatusBar
' Dock the status bar at the top of the form.
statusBar1.Dock = DockStyle.Top
' Set the SizingGrip property to false so the user cannot
' resize the status bar.
statusBar1.SizingGrip = False
' Create two StatusBarPanel objects to display in statusBar1.
Dim panel1 As New StatusBarPanel
Dim panel2 As New StatusBarPanel
' Set the width of panel2 explicitly and set
' panel1 to fill in the remaining space.
panel2.Width = 80
panel1.AutoSize = StatusBarPanelAutoSize.Spring
' Set the text alignment within each panel.
panel1.Alignment = HorizontalAlignment.Left
panel2.Alignment = HorizontalAlignment.Right
' Display the first panel without a border and the second
' with a raised border.
panel1.BorderStyle = StatusBarPanelBorderStyle.None
panel2.BorderStyle = StatusBarPanelBorderStyle.Raised
' Set the text of the panels. The panel1 object is reserved
' for line numbers, while panel2 is set to the current time.
panel1.Text = "Reserved for important information."
panel2.Text = System.DateTime.Now.ToShortTimeString
' Set a tooltip for panel2
panel2.ToolTipText = "Click time to display seconds"
' Display panels in statusBar1 and add them to the
' status bar's StatusBarPanelCollection.
statusBar1.ShowPanels = True
statusBar1.Panels.Add(panel1)
statusBar1.Panels.Add(panel2)
' Add the StatusBar to the form.
Me.Controls.Add(statusBar1)
End Sub
' If the user clicks the status bar, check the text of the
' StatusBarPanel. If the text equals a short time string,
' change it to long time display.
Private Sub statusBar1_PanelClick(ByVal sender As Object, _
ByVal e As StatusBarPanelClickEventArgs) _
Handles statusBar1.PanelClick
If (e.StatusBarPanel.Text = _
System.DateTime.Now.ToShortTimeString) Then
e.StatusBarPanel.Text = System.DateTime.Now.ToLongTimeString
End If
End Sub
Comentarios
La propiedad utiliza StatusBarPanel.AutoSize esta enumeración. La AutoSize propiedad especifica cómo se ajusta automático un StatusBarPanel control en un StatusBar control .