StatusBarPanel.Style Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia styl panelu paska stanu.
public:
property System::Windows::Forms::StatusBarPanelStyle Style { System::Windows::Forms::StatusBarPanelStyle get(); void set(System::Windows::Forms::StatusBarPanelStyle value); };
public System.Windows.Forms.StatusBarPanelStyle Style { get; set; }
member this.Style : System.Windows.Forms.StatusBarPanelStyle with get, set
Public Property Style As StatusBarPanelStyle
Wartość właściwości
Jedna z StatusBarPanelStyle wartości. Wartość domyślna to Text.
Wyjątki
Wartość przypisana do właściwości nie jest elementem członkowskim StatusBarPanelStyle wyliczenia.
Przykłady
Poniższy przykład kodu pokazuje, jak używać Style właściwości, StatusBarDrawItemEventHandler delegata, klasy, StatusBarDrawItemEventArgsStatusBarPanelStyle wyliczenia i StatusBarDrawItemEventArgs.Panel właściwości. Aby uruchomić przykład, wklej następujący kod w formularzu. Wywołaj metodę InitializeStatusBarPanels
w konstruktorze formularza lub Load metodzie event-method.
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.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);
}
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
Uwagi
Możesz użyć tej właściwości, aby wskazać, czy StatusBarPanel tekst jest wyświetlany, czy panel jest zarządzany jako właściciel rysunku StatusBarPanel. Aby określić, kiedy należy narysować element StatusBarPanel , utwórz procedurę obsługi zdarzeń dla DrawItem zdarzenia kontrolki StatusBar . Przekazany StatusBarDrawItemEventArgs jako parametr do procedury obsługi DrawItem zdarzeń zdarzenia umożliwia określenie, który panel musi zostać narysowany. Obiekt StatusBarDrawItemEventArgs udostępnia Graphics również obiekt, którego można użyć do wykonywania zadań rysunkowych w obiekcie StatusBarPanel.