ToolStripItem.ContentRectangle Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém a área na qual o conteúdo, como texto e ícones, pode ser colocado em um ToolStripItem sem substituir as bordas da tela de fundo.
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 da propriedade
Um Rectangle que contém quatro inteiros que representam o local e o tamanho do ToolStripItem conteúdo, excluindo sua borda.
- Atributos
Exemplos
O exemplo de código a seguir demonstra como usar a ContentRectangle propriedade para renderização personalizada. Este exemplo de código faz parte de um exemplo maior fornecido para a ToolStripItem classe.
// 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
Comentários
Use a ContentRectangle propriedade para fazer a pintura personalizada de um ToolStripItem.