ToolStripRenderer.OnRenderButtonBackground メソッド
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim e As ToolStripItemRenderEventArgs Me.OnRenderButtonBackground(e)

イベントが発生すると、デリゲートを使用してイベント ハンドラが呼び出されます。詳細については、「イベントの発生」を参照してください。
OnRenderButtonBackground メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。派生クラスでイベントを処理する場合は、この手法をお勧めします。
継承時の注意 派生クラスで OnRenderButtonBackground をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnRenderButtonBackground メソッドを呼び出してください。
OnRenderButtonBackground メソッドをオーバーライドして、ToolStripButton コントロールの Image の周囲に境界線を描画する方法を次のコード例に示します。このコード例は、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); } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からToolStripRenderer.OnRenderButtonBackground メソッドを検索する場合は、下記のリンクをクリックしてください。

- ToolStripRenderer.OnRenderButtonBackground メソッドのページへのリンク