StatusBarPanel.Style-Eigenschaft
Ruft den Stil des Statusleistenbereichs ab oder legt diesen fest.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Public Property Style As StatusBarPanelStyle
'Usage
Dim instance As StatusBarPanel
Dim value As StatusBarPanelStyle
value = instance.Style
instance.Style = value
public StatusBarPanelStyle Style { get; set; }
public:
property StatusBarPanelStyle Style {
StatusBarPanelStyle get ();
void set (StatusBarPanelStyle value);
}
/** @property */
public StatusBarPanelStyle get_Style ()
/** @property */
public void set_Style (StatusBarPanelStyle value)
public function get Style () : StatusBarPanelStyle
public function set Style (value : StatusBarPanelStyle)
Eigenschaftenwert
Einer der StatusBarPanelStyle-Werte. Der Standardwert ist Text.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Der der Eigenschaft zugewiesene Wert ist kein Member der StatusBarPanelStyle-Enumeration. |
Hinweise
Mithilfe dieser Eigenschaft können Sie angeben, ob ein StatusBarPanel einen Text anzeigt oder ob der Bereich als Ownerdrawn-StatusBarPanel verwaltet wird. Um zu bestimmen, wann ein StatusBarPanel gezeichnet werden muss, erstellen Sie einen Ereignishandler für das DrawItem-Ereignis des StatusBar-Steuerelements. Mit der als Parameter an einen Ereignishandler des DrawItem-Ereignisses übergebenen Instanz von StatusBarDrawItemEventArgs können Sie bestimmen, welcher Bereich gezeichnet werden muss. StatusBarDrawItemEventArgs stellt auch ein Graphics-Objekt bereit, mit dem Zeichenaufgaben auf dem StatusBarPanel ausgeführt werden können.
Beispiel
Im folgenden Codebeispiel wird die Verwendung der Style-Eigenschaft, des StatusBarDrawItemEventHandler-Delegaten, der StatusBarDrawItemEventArgs-Klasse, der StatusBarPanelStyle-Enumeration und der StatusBarDrawItemEventArgs.Panel-Eigenschaft veranschaulicht. Fügen Sie zum Ausführen des Beispiels den folgenden Code in ein Formular ein. Rufen Sie die InitializeStatusBarPanels
-Methode im Konstruktor oder in der Load-Ereignismethode des Formulars auf.
Private StatusBar1 As StatusBar
Private Sub InitializeStatusBarPanels()
StatusBar1 = New StatusBar
' Create two StatusBarPanel objects.
Dim panel1 As New StatusBarPanel
Dim panel2 As New StatusBarPanel
' Set the style of the panels.
' panel1 will be owner-drawn.
panel1.Style = StatusBarPanelStyle.OwnerDraw
' The panel2 object will be drawn by the operating system.
panel2.Style = StatusBarPanelStyle.Text
' Set the text of both panels to the same date string.
panel1.Text = DateTime.Today.ToShortDateString()
panel2.Text = DateTime.Today.ToShortDateString()
' Add both panels to the StatusBar.
StatusBar1.Panels.Add(panel1)
StatusBar1.Panels.Add(panel2)
' Make panels visible by setting the ShowPanels
' property to True.
StatusBar1.ShowPanels = True
' Use the AddHandler syntax to handle the DrawItem event
' for the owner-drawn panel.
AddHandler StatusBar1.DrawItem, _
New StatusBarDrawItemEventHandler( _
AddressOf DrawCustomStatusBarPanel)
Me.Controls.Add(StatusBar1)
End Sub
' Draw the panel.
Private Sub DrawCustomStatusBarPanel(ByVal sender As Object, _
ByVal e As StatusBarDrawItemEventArgs)
' Draw a blue background in the owner-drawn panel.
e.Graphics.FillRectangle(Brushes.AliceBlue, e.Bounds)
' Create a StringFormat object to align text in the panel.
Dim textFormat As New StringFormat
' Center the text in the middle of the line.
textFormat.LineAlignment = StringAlignment.Center
' Align the text to the left.
textFormat.Alignment = StringAlignment.Far
' Draw the panel's text in dark blue using the Panel
' and Bounds properties of the StatusBarEventArgs object
' and the StringFormat object.
e.Graphics.DrawString(e.Panel.Text, StatusBar1.Font, _
Brushes.DarkBlue, New RectangleF(e.Bounds.X, e.Bounds.Y, _
e.Bounds.Width, e.Bounds.Height), textFormat)
End Sub
private StatusBar StatusBar1;
private void InitializeStatusBarPanels()
{
StatusBar1 = new StatusBar();
// Create two StatusBarPanel objects.
StatusBarPanel panel1 = new StatusBarPanel();
StatusBarPanel panel2 = new StatusBarPanel();
// Set the style of the panels.
// panel1 will be owner-drawn.
panel1.Style = StatusBarPanelStyle.OwnerDraw;
// The panel2 object will be drawn by the operating system.
panel2.Style = StatusBarPanelStyle.Text;
// Set the text of both panels to the same date string.
panel1.Text = System.DateTime.Today.ToShortDateString();
panel2.Text = System.DateTime.Today.ToShortDateString();
// Add both panels to the StatusBar.
StatusBar1.Panels.Add(panel1);
StatusBar1.Panels.Add(panel2);
// Make panels visible by setting the ShowPanels
// property to True.
StatusBar1.ShowPanels = true;
// Associate the event-handling method with the DrawItem event
// for the owner-drawn panel.
StatusBar1.DrawItem +=
new StatusBarDrawItemEventHandler(DrawCustomStatusBarPanel);
this.Controls.Add(StatusBar1);
}
// Draw the panel.
private void DrawCustomStatusBarPanel(object sender,
StatusBarDrawItemEventArgs e)
{
// Draw a blue background in the owner-drawn panel.
e.Graphics.FillRectangle(Brushes.AliceBlue, e.Bounds);
// Create a StringFormat object to align text in the panel.
StringFormat textFormat = new StringFormat();
// Center the text in the middle of the line.
textFormat.LineAlignment = StringAlignment.Center;
// Align the text to the left.
textFormat.Alignment = StringAlignment.Far;
// Draw the panel's text in dark blue using the Panel
// and Bounds properties of the StatusBarEventArgs object
// and the StringFormat object.
e.Graphics.DrawString(e.Panel.Text, StatusBar1.Font,
Brushes.DarkBlue, new RectangleF(e.Bounds.X,
e.Bounds.Y, e.Bounds.Width, e.Bounds.Height), textFormat);
}
StatusBar^ StatusBar1;
void InitializeStatusBarPanels()
{
StatusBar1 = gcnew StatusBar;
// Create two StatusBarPanel objects.
StatusBarPanel^ panel1 = gcnew StatusBarPanel;
StatusBarPanel^ panel2 = gcnew StatusBarPanel;
// Set the style of the panels.
// panel1 will be owner-drawn.
panel1->Style = StatusBarPanelStyle::OwnerDraw;
// The panel2 object will be drawn by the operating system.
panel2->Style = StatusBarPanelStyle::Text;
// Set the text of both panels to the same date string.
panel1->Text = System::DateTime::Today.ToShortDateString();
panel2->Text = System::DateTime::Today.ToShortDateString();
// Add both panels to the StatusBar.
StatusBar1->Panels->Add( panel1 );
StatusBar1->Panels->Add( panel2 );
// Make panels visible by setting the ShowPanels
// property to True.
StatusBar1->ShowPanels = true;
// Associate the event-handling method with the DrawItem event
// for the owner-drawn panel.
StatusBar1->DrawItem += gcnew StatusBarDrawItemEventHandler( this, &Form1::DrawCustomStatusBarPanel );
this->Controls->Add( StatusBar1 );
}
// Draw the panel.
void DrawCustomStatusBarPanel( Object^ sender, StatusBarDrawItemEventArgs^ e )
{
// Draw a blue background in the owner-drawn panel.
e->Graphics->FillRectangle( Brushes::AliceBlue, e->Bounds );
// Create a StringFormat object to align text in the panel.
StringFormat^ textFormat = gcnew StringFormat;
// Center the text in the middle of the line.
textFormat->LineAlignment = StringAlignment::Center;
// Align the text to the left.
textFormat->Alignment = StringAlignment::Far;
// Draw the panel's text in dark blue using the Panel
// and Bounds properties of the StatusBarEventArgs object
// and the StringFormat object.
e->Graphics->DrawString( e->Panel->Text, StatusBar1->Font, Brushes::DarkBlue, RectangleF(e->Bounds.X,e->Bounds.Y,e->Bounds.Width,e->Bounds.Height), textFormat );
}
private StatusBar statusBar1;
private void InitializeStatusBarPanels()
{
statusBar1 = new StatusBar();
// Create two StatusBarPanel objects.
StatusBarPanel panel1 = new StatusBarPanel();
StatusBarPanel panel2 = new StatusBarPanel();
// Set the style of the panels.
// panel1 will be owner-drawn.
panel1.set_Style(StatusBarPanelStyle.OwnerDraw);
// The panel2 object will be drawn by the operating system.
panel2.set_Style(StatusBarPanelStyle.Text);
// Set the text of both panels to the same date string.
panel1.set_Text(System.DateTime.get_Today().ToShortDateString());
panel2.set_Text(System.DateTime.get_Today().ToShortDateString());
// Add both panels to the StatusBar.
statusBar1.get_Panels().Add(panel1);
statusBar1.get_Panels().Add(panel2);
// Make panels visible by setting the ShowPanels
// property to True.
statusBar1.set_ShowPanels(true);
// Associate the event-handling method with the DrawItem event
// for the owner-drawn panel.
statusBar1.add_DrawItem(new StatusBarDrawItemEventHandler(
DrawCustomStatusBarPanel));
this.get_Controls().Add(statusBar1);
} //InitializeStatusBarPanels
// Draw the panel.
private void DrawCustomStatusBarPanel(Object sender,
StatusBarDrawItemEventArgs e)
{
// Draw a blue background in the owner-drawn panel.
e.get_Graphics().FillRectangle(Brushes.get_AliceBlue(), e.get_Bounds());
// Create a StringFormat object to align text in the panel.
StringFormat textFormat = new StringFormat();
// Center the text in the middle of the line.
textFormat.set_LineAlignment(StringAlignment.Center);
// Align the text to the left.
textFormat.set_Alignment(StringAlignment.Far);
// Draw the panel's text in dark blue using the Panel
// and Bounds properties of the StatusBarEventArgs object
// and the StringFormat object.
e.get_Graphics().DrawString(e.get_Panel().get_Text(),
statusBar1.get_Font(), Brushes.get_DarkBlue(),
new RectangleF(e.get_Bounds().get_X(), e.get_Bounds().get_Y(),
e.get_Bounds().get_Width(), e.get_Bounds().get_Height()), textFormat);
} //DrawCustomStatusBarPanel
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
StatusBarPanel-Klasse
StatusBarPanel-Member
System.Windows.Forms-Namespace
StatusBarPanelStyle