ToolStripItem.ContentRectangle 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得類似文字和圖示的內容可以放置到 ToolStripItem 內,而不需要覆寫背景框線的區域。
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
屬性值
Rectangle,包含四個整數,表示 ToolStripItem 內容的位置和大小 (不包括其框線)。
- 屬性
範例
下列程式碼範例示範如何使用 ContentRectangle 屬性進行自訂轉譯。 此程式碼範例是針對 類別提供的較大範例的 ToolStripItem 一部分。
// 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
備註
ContentRectangle使用 屬性來執行 的 ToolStripItem 自訂繪製。