Actualización: noviembre 2007
Proporciona los datos para los eventos que procesan el fondo de objetos derivados de ToolStripItem en la clase ToolStripRenderer.
Ensamblado: System.Windows.Forms (en System.Windows.Forms.dll)
Public Class ToolStripItemRenderEventArgs _ Inherits EventArgs
Dim instance As ToolStripItemRenderEventArgs
public class ToolStripItemRenderEventArgs : EventArgs
public ref class ToolStripItemRenderEventArgs : public EventArgs
public class ToolStripItemRenderEventArgs extends EventArgs
public class ToolStripItemRenderEventArgs extends EventArgs
La clase ToolStripItemRenderEventArgs proporciona los datos de los siguientes eventos:
Además, proporciona los datos para los métodos siguientes:
En el ejemplo de código siguiente se muestra cómo reemplazar el método OnRenderButtonBackground para dibujar un borde alrededor de la propiedad Image del control ToolStripButton. Este ejemplo de código forma parte de un ejemplo más extenso referente a la clase ToolStripRenderer.
' This method draws a border around the button's image. If the background ' to be rendered belongs to the empty cell, a string is drawn. Otherwise, ' a border is drawn at the edges of the button. Protected Overrides Sub OnRenderButtonBackground(e As ToolStripItemRenderEventArgs) MyBase.OnRenderButtonBackground(e) ' Define some local variables for convenience. Dim g As Graphics = e.Graphics Dim gs As GridStrip = e.ToolStrip Dim gsb As ToolStripButton = e.Item ' Calculate the rectangle around which the border is painted. Dim imageRectangle As New Rectangle(borderThickness, borderThickness, e.Item.Width - 2 * borderThickness, e.Item.Height - 2 * borderThickness) ' If rendering the empty cell background, draw an ' explanatory string, centered in the ToolStripButton. If gsb Is gs.EmptyCell Then e.Graphics.DrawString("Drag to here", gsb.Font, SystemBrushes.ControlDarkDark, imageRectangle, style) Else ' If the button can be a drag source, paint its border red. ' otherwise, paint its border a dark color. Dim b As Brush = IIf(gs.IsValidDragSource(gsb), Brushes.Red, SystemBrushes.ControlDarkDark) ' Draw the top segment of the border. Dim borderSegment As New Rectangle(0, 0, e.Item.Width, imageRectangle.Top) g.FillRectangle(b, borderSegment) ' Draw the right segment. borderSegment = New Rectangle(imageRectangle.Right, 0, e.Item.Bounds.Right - imageRectangle.Right, imageRectangle.Bottom) g.FillRectangle(b, borderSegment) ' Draw the left segment. borderSegment = New Rectangle(0, 0, imageRectangle.Left, e.Item.Height) g.FillRectangle(b, borderSegment) ' Draw the bottom segment. borderSegment = New Rectangle(0, imageRectangle.Bottom, e.Item.Width, e.Item.Bounds.Bottom - imageRectangle.Bottom) g.FillRectangle(b, borderSegment) End If End Sub End Class
// This method draws a border around the button's image. If the background // to be rendered belongs to the empty cell, a string is drawn. Otherwise, // a border is drawn at the edges of the button. protected override void OnRenderButtonBackground( ToolStripItemRenderEventArgs e) { base.OnRenderButtonBackground(e); // Define some local variables for convenience. Graphics g = e.Graphics; GridStrip gs = e.ToolStrip as GridStrip; ToolStripButton gsb = e.Item as ToolStripButton; // Calculate the rectangle around which the border is painted. Rectangle imageRectangle = new Rectangle( borderThickness, borderThickness, e.Item.Width - 2 * borderThickness, e.Item.Height - 2 * borderThickness); // If rendering the empty cell background, draw an // explanatory string, centered in the ToolStripButton. if (gsb == gs.EmptyCell) { e.Graphics.DrawString( "Drag to here", gsb.Font, SystemBrushes.ControlDarkDark, imageRectangle, style); } else { // If the button can be a drag source, paint its border red. // otherwise, paint its border a dark color. Brush b = gs.IsValidDragSource(gsb) ? b = Brushes.Red : SystemBrushes.ControlDarkDark; // Draw the top segment of the border. Rectangle borderSegment = new Rectangle( 0, 0, e.Item.Width, imageRectangle.Top); g.FillRectangle(b, borderSegment); // Draw the right segment. borderSegment = new Rectangle( imageRectangle.Right, 0, e.Item.Bounds.Right - imageRectangle.Right, imageRectangle.Bottom); g.FillRectangle(b, borderSegment); // Draw the left segment. borderSegment = new Rectangle( 0, 0, imageRectangle.Left, e.Item.Height); g.FillRectangle(b, borderSegment); // Draw the bottom segment. borderSegment = new Rectangle( 0, imageRectangle.Bottom, e.Item.Width, e.Item.Bounds.Bottom - imageRectangle.Bottom); g.FillRectangle(b, borderSegment); } }
System.EventArgs
System.Windows.Forms.ToolStripItemRenderEventArgs
System.Windows.Forms.ToolStripItemImageRenderEventArgs
System.Windows.Forms.ToolStripItemTextRenderEventArgs
System.Windows.Forms.ToolStripSeparatorRenderEventArgs
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 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.