StatusBar (Clase)
Actualización: noviembre 2007
Representa un control en la barra de estado de Windows. Aunque ToolStripStatusLabel reemplaza y agrega funcionalidad al control StatusBar de versiones anteriores, se conserva StatusBar a efectos de compatibilidad con versiones anteriores y uso futuro, en su caso.
Ensamblado: System.Windows.Forms (en System.Windows.Forms.dll)
Normalmente, un control StatusBar está formado por objetos StatusBarPanel, cada uno de los cuales muestra texto y/o un icono. También puede proporcionar paneles personalizados dibujados por el usuario como una barra de progreso o una serie de imágenes que muestren el estado de la aplicación. Normalmente, un control StatusBar muestra información acerca del objeto que se está mostrando en un control Form, los componentes del objeto o información contextual relativa a la operación de ese objeto en la aplicación.
El control StatusBar dispone de propiedades que permiten personalizar el aspecto del control. Si StatusBar se muestra en un formulario cuyo tamaño se puede cambiar, utilice la propiedad SizingGrip para mostrar un control de tamaño en la esquina inferior derecha del formulario para indicar a los usuarios que el tamaño del formulario se puede cambiar. La propiedad ShowPanels permite mostrar paneles con el control StatusBar o mostrar sólo el valor de la propiedad Text del control.
El control StatusBar predeterminado no tiene paneles. Para agregar paneles a un control StatusBar, utilice el método Add de la clase StatusBar.StatusBarPanelCollection, al que se puede tener acceso a través de la propiedad Panels del control. También puede utilizar el objeto StatusBar.StatusBarPanelCollection disponible mediante la propiedad Panels para quitar paneles del control y tener acceso a un StatusBarPanel específico para manipular el panel.
Si desea determinar cuándo se hace clic a un objeto StatusBarPanel en un control StatusBar, puede crear un controlador para el evento PanelClick. Para realizar operaciones de dibujo personalizadas en un panel, puede crear un controlador para el evento DrawItem. Los datos del evento que se envían al controlador de eventos proporciona información sobre el panel que se va a dibujar y el objeto Graphics que se utilizará para realizar las tareas de dibujo.
Cuando se crea una instancia de StatusBar, se establecen las propiedades de lectura y escritura en sus valores iniciales. Para obtener una lista de esos valores, vea el constructor StatusBar.
En el siguiente ejemplo de código se crea un control StatusBar en un formulario y se agregan dos objetos StatusBarPanel. Uno de los objetos StatusBarPanel, denominado panel1, muestra el texto de estado de una aplicación. El segundo objeto StatusBarPanel, denominado panel2, muestra la fecha actual y utiliza la propiedad ToolTipText de la clase StatusBarPanel para mostrar la hora actual. En el ejemplo, se utiliza la propiedad ShowPanels para garantizar que los paneles se muestran en lugar de un panel estándar, y se utiliza la propiedad Panels para obtener acceso al método Add de StatusBar.StatusBarPanelCollection para agregar los paneles a StatusBar. En el ejemplo, se utilizan también las propiedades AutoSize, BorderStyle, ToolTipText y Text para inicializar los objetos StatusBarPanel. En este ejemplo se requiere que el método definido en el ejemplo se defina y se llame desde el constructor de un Form.
private void CreateMyStatusBar() { // Create a StatusBar control. StatusBar statusBar1 = new StatusBar(); // Create two StatusBarPanel objects to display in the StatusBar. StatusBarPanel panel1 = new StatusBarPanel(); StatusBarPanel panel2 = new StatusBarPanel(); // Display the first panel with a sunken border style. panel1.BorderStyle = StatusBarPanelBorderStyle.Sunken; // Initialize the text of the panel. panel1.Text = "Ready..."; // Set the AutoSize property to use all remaining space on the StatusBar. panel1.AutoSize = StatusBarPanelAutoSize.Spring; // Display the second panel with a raised border style. panel2.BorderStyle = StatusBarPanelBorderStyle.Raised; // Create ToolTip text that displays time the application was //started. panel2.ToolTipText = "Started: " + System.DateTime.Now.ToShortTimeString(); // Set the text of the panel to the current date. panel2.Text = System.DateTime.Today.ToLongDateString(); // Set the AutoSize property to size the panel to the size of the contents. panel2.AutoSize = StatusBarPanelAutoSize.Contents; // Display panels in the StatusBar control. statusBar1.ShowPanels = true; // Add both panels to the StatusBarPanelCollection of the StatusBar. statusBar1.Panels.Add(panel1); statusBar1.Panels.Add(panel2); // Add the StatusBar to the form. this.Controls.Add(statusBar1); }
private void CreateMyStatusBar()
{
// Create a StatusBar control.
StatusBar statusBar1 = new StatusBar();
// Create two StatusBarPanel objects to display in the StatusBar.
StatusBarPanel panel1 = new StatusBarPanel();
StatusBarPanel panel2 = new StatusBarPanel();
// Display the first panel with a sunken border style.
panel1.set_BorderStyle(StatusBarPanelBorderStyle.Sunken);
// Initialize the text of the panel.
panel1.set_Text("Ready...");
// Set the AutoSize property to use all remaining space on the StatusBar.
panel1.set_AutoSize(StatusBarPanelAutoSize.Spring);
// Display the second panel with a raised border style.
panel2.set_BorderStyle(StatusBarPanelBorderStyle.Raised);
// Create ToolTip text that displays the time the application was started.
panel2.set_ToolTipText("Started: " + System.DateTime.get_Now().ToShortTimeString());
// Set the text of the panel to the current date.
panel2.set_Text(System.DateTime.get_Today().ToLongDateString());
// Set the AutoSize property to size the panel to the size of the
// contents.
panel2.set_AutoSize(StatusBarPanelAutoSize.Contents);
// Display panels in the StatusBar control.
statusBar1.set_ShowPanels(true);
// Add both panels to the StatusBarPanelCollection of the StatusBar.
statusBar1.get_Panels().Add(panel1);
statusBar1.get_Panels().Add(panel2);
// Add the StatusBar to the form.
this.get_Controls().Add(statusBar1);
} //CreateMyStatusBar
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.StatusBar
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Pocket PC
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.