ToolStripItem.ContentRectangle Propiedad

Definición

Obtiene el área donde se puede colocar contenido, como texto e iconos, dentro de un ToolStripItem sin sobrescribir los bordes de fondo.

public:
 property System::Drawing::Rectangle ContentRectangle { System::Drawing::Rectangle get(); };
[System.ComponentModel.Browsable(false)]
public System.Drawing.Rectangle ContentRectangle { get; }
[<System.ComponentModel.Browsable(false)>]
member this.ContentRectangle : System.Drawing.Rectangle
Public ReadOnly Property ContentRectangle As Rectangle

Valor de propiedad

Rectangle

Un Rectangle que contiene cuatro enteros que representan la ubicación y el tamaño del contenido de ToolStripItem, excluyendo su borde.

Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la ContentRectangle propiedad para la representación personalizada. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la ToolStripItem clase .

// This utility method computes the layout of the 
// RolloverItem control's image area and the text area.
// For brevity, only the following settings are 
// supported:
//
// ToolStripTextDirection.Horizontal
// TextImageRelation.ImageBeforeText 
// TextImageRelation.ImageBeforeText
// 
// It would not be difficult to support vertical text
// directions and other image/text relationships.
private void ComputeImageAndTextLayout()
{
    Rectangle cr = base.ContentRectangle;
    Image img = base.Owner.ImageList.Images[base.ImageKey];

    // Compute the center of the item's ContentRectangle.
    int centerY = (cr.Height - img.Height) / 2;

    // Find the dimensions of the image and the text 
    // areas of the item. The text occupies the space 
    // not filled by the image. 
    if (base.TextImageRelation == TextImageRelation.ImageBeforeText &&
        base.TextDirection == ToolStripTextDirection.Horizontal)
    {
        imageRect = new Rectangle(
            base.ContentRectangle.Left,
            centerY,
            base.Image.Width,
            base.Image.Height);

        textRect = new Rectangle(
            imageRect.Width,
            base.ContentRectangle.Top,
            base.ContentRectangle.Width - imageRect.Width,
            base.ContentRectangle.Height);
    }
    else if (base.TextImageRelation == TextImageRelation.TextBeforeImage &&
             base.TextDirection == ToolStripTextDirection.Horizontal)
    {
        imageRect = new Rectangle(
            base.ContentRectangle.Right - base.Image.Width,
            centerY,
            base.Image.Width,
            base.Image.Height);

        textRect = new Rectangle(
            base.ContentRectangle.Left,
            base.ContentRectangle.Top,
            imageRect.X,
            base.ContentRectangle.Bottom);
    }
}
   ' This utility method computes the layout of the 
   ' RolloverItem control's image area and the text area.
   ' For brevity, only the following settings are 
   ' supported:
   '
   ' ToolStripTextDirection.Horizontal
   ' TextImageRelation.ImageBeforeText 
   ' TextImageRelation.ImageBeforeText
   ' 
   ' It would not be difficult to support vertical text
   ' directions and other image/text relationships.
   Private Sub ComputeImageAndTextLayout()
      Dim cr As Rectangle = MyBase.ContentRectangle
      Dim img As Image = MyBase.Owner.ImageList.Images(MyBase.ImageKey)
      
      ' Compute the center of the item's ContentRectangle.
        Dim centerY As Integer = CInt((cr.Height - img.Height) / 2)
      
      ' Find the dimensions of the image and the text 
      ' areas of the item. The text occupies the space 
      ' not filled by the image. 
        If MyBase.TextImageRelation = _
        TextImageRelation.ImageBeforeText AndAlso _
        MyBase.TextDirection = ToolStripTextDirection.Horizontal Then

            imageRect = New Rectangle( _
            MyBase.ContentRectangle.Left, _
            centerY, _
            MyBase.Image.Width, _
            MyBase.Image.Height)

            textRect = New Rectangle( _
            imageRect.Width, _
            MyBase.ContentRectangle.Top, _
            MyBase.ContentRectangle.Width - imageRect.Width, _
            MyBase.ContentRectangle.Height)

        ElseIf MyBase.TextImageRelation = _
        TextImageRelation.TextBeforeImage AndAlso _
        MyBase.TextDirection = ToolStripTextDirection.Horizontal Then

            imageRect = New Rectangle( _
            MyBase.ContentRectangle.Right - MyBase.Image.Width, _
            centerY, _
            MyBase.Image.Width, _
            MyBase.Image.Height)

            textRect = New Rectangle( _
            MyBase.ContentRectangle.Left, _
            MyBase.ContentRectangle.Top, _
            imageRect.X, _
            MyBase.ContentRectangle.Bottom)

        End If
    End Sub
End Class

Comentarios

Utilice la ContentRectangle propiedad para realizar una pintura personalizada de .ToolStripItem

Se aplica a