(0) exportieren Drucken
Alle erweitern

StatusBarDrawItemEventArgs.Panel-Eigenschaft

Aktualisiert: November 2007

Ruft das zu zeichnende StatusBarPanel ab.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public StatusBarPanel Panel { get; }
/** @property */
public StatusBarPanel get_Panel()

public function get Panel () : StatusBarPanel

Eigenschaftenwert

Typ: System.Windows.Forms.StatusBarPanel
Das zu zeichnende StatusBarPanel.

Mit der Panel-Eigenschaft können Sie das zu zeichnende StatusBarPanel abrufen. Sie können diese Informationen innerhalb des Ereignishandlers für ein DrawItem-Ereignis eines StatusBar-Steuerelements verwenden, um Zeichenaufgaben für das StatusBarPanel auszuführen.

Im folgenden Codebeispiel wird die Verwendung der StatusBarPanel.Style-Eigenschaft, des StatusBarDrawItemEventHandler-Delegaten, der StatusBarDrawItemEventArgs-Klasse, der StatusBarPanelStyle-Enumeration und der 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-Methode des Formulars auf.

	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 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


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

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft