VisualStyleRenderer.GetPartSize Method     
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns the value of the specified size property of the current visual style part.
Overloads
| GetPartSize(IDeviceContext, ThemeSizeType) | 
						 Returns the value of the specified size property of the current visual style part.  | 
        	
| GetPartSize(IDeviceContext, Rectangle, ThemeSizeType) | 
						 Returns the value of the specified size property of the current visual style part using the specified drawing bounds.  | 
        	
GetPartSize(IDeviceContext, ThemeSizeType)
- Source:
 - VisualStyleRenderer.cs
 
- Source:
 - VisualStyleRenderer.cs
 
- Source:
 - VisualStyleRenderer.cs
 
Returns the value of the specified size property of the current visual style part.
public:
 System::Drawing::Size GetPartSize(System::Drawing::IDeviceContext ^ dc, System::Windows::Forms::VisualStyles::ThemeSizeType type);
	public System.Drawing.Size GetPartSize(System.Drawing.IDeviceContext dc, System.Windows.Forms.VisualStyles.ThemeSizeType type);
	member this.GetPartSize : System.Drawing.IDeviceContext * System.Windows.Forms.VisualStyles.ThemeSizeType -> System.Drawing.Size
	Public Function GetPartSize (dc As IDeviceContext, type As ThemeSizeType) As Size
	Parameters
The IDeviceContext this operation will use.
- type
 - ThemeSizeType
 
One of the ThemeSizeType values that specifies which size value to retrieve for the part.
Returns
A Size that contains the size specified by the type parameter for the current visual style part.
Exceptions
dc is null.
prop is not one of the ThemeSizeType values.
Examples
The following code example demonstrates how to use the GetPartSize(IDeviceContext, ThemeSizeType) method in a custom control to get the sizes of a window title bar, Close button, borders, and sizing handle specified by the visual style. These sizes are used to calculate the sizes of the Rectangle objects used to draw the VisualStyleElement objects that represent these window parts. This code example is part of a larger example provided for the VisualStyleRenderer class overview.
    // Get the sizes and offsets for the window parts as specified
    // by the visual style.
private:
    void GetPartDetails()
    {
        // Do nothing further if visual styles are not enabled.
        if (!Application::RenderWithVisualStyles)
        {
            return;
        }
        Graphics^ g = this->CreateGraphics();
        // Get the size and offset of the close button.
        if (SetRenderer(windowElements["windowClose"]))
        {
            closeButtonSize =
                renderer->GetPartSize(g, ThemeSizeType::True);
            closeButtonOffset =
                renderer->GetPoint(PointProperty::Offset);
        }
        // Get the height of the window caption.
        if (SetRenderer(windowElements["windowCaption"]))
        {
            captionHeight = renderer->GetPartSize(g,
                ThemeSizeType::True).Height;
        }
        // Get the thickness of the left, bottom,
        // and right window frame.
        if (SetRenderer(windowElements["windowLeft"]))
        {
            frameThickness = renderer->GetPartSize(g,
                ThemeSizeType::True).Width;
        }
        // Get the size of the resizing gripper.
        if (SetRenderer(windowElements["statusGripper"]))
        {
            gripperSize = renderer->GetPartSize(g,
                ThemeSizeType::True);
        }
    }
// Get the sizes and offsets for the window parts as specified  
// by the visual style.
private void GetPartDetails()
{
    // Do nothing further if visual styles are not enabled.
    if (!Application.RenderWithVisualStyles)
    {
        return;
    }
    using (Graphics g = this.CreateGraphics())
    {
        // Get the size and offset of the close button.
        if (SetRenderer(windowElements["windowClose"]))
        {
            closeButtonSize =
                renderer.GetPartSize(g, ThemeSizeType.True);
            closeButtonOffset =
                renderer.GetPoint(PointProperty.Offset);
        }
        // Get the height of the window caption.
        if (SetRenderer(windowElements["windowCaption"]))
        {
            captionHeight = renderer.GetPartSize(g,
                ThemeSizeType.True).Height;
        }
        // Get the thickness of the left, bottom, 
        // and right window frame.
        if (SetRenderer(windowElements["windowLeft"]))
        {
            frameThickness = renderer.GetPartSize(g,
                ThemeSizeType.True).Width;
        }
        // Get the size of the resizing gripper.
        if (SetRenderer(windowElements["statusGripper"]))
        {
            gripperSize = renderer.GetPartSize(g,
                ThemeSizeType.True);
        }
    }
}
' Get the sizes and offsets for the window parts as specified 
' by the visual style.
Private Sub GetPartDetails()
    ' Do nothing further if visual styles are not enabled.
    If Not Application.RenderWithVisualStyles Then
        Return
    End If
    Using g As Graphics = Me.CreateGraphics()
        ' Get the size and offset of the close button.
        If SetRenderer(windowElements("windowClose")) Then
            closeButtonSize = _
                renderer.GetPartSize(g, ThemeSizeType.True)
            closeButtonOffset = _
                renderer.GetPoint(PointProperty.Offset)
        End If
        ' Get the height of the window caption.
        If SetRenderer(windowElements("windowCaption")) Then
            captionHeight = renderer.GetPartSize(g, _
                ThemeSizeType.True).Height
        End If
        ' Get the thickness of the left, bottom, and right 
        ' window frame.
        If SetRenderer(windowElements("windowLeft")) Then
            frameThickness = renderer.GetPartSize(g, _
                ThemeSizeType.True).Width
        End If
        ' Get the size of the resizing gripper.
        If SetRenderer(windowElements("statusGripper")) Then
            gripperSize = renderer.GetPartSize(g, _
                ThemeSizeType.True)
        End If
    End Using
End Sub
    	Remarks
Typically, only the True and Minimum values should be used for the type parameter of this method.
Applies to
GetPartSize(IDeviceContext, Rectangle, ThemeSizeType)
- Source:
 - VisualStyleRenderer.cs
 
- Source:
 - VisualStyleRenderer.cs
 
- Source:
 - VisualStyleRenderer.cs
 
Returns the value of the specified size property of the current visual style part using the specified drawing bounds.
public:
 System::Drawing::Size GetPartSize(System::Drawing::IDeviceContext ^ dc, System::Drawing::Rectangle bounds, System::Windows::Forms::VisualStyles::ThemeSizeType type);
	public System.Drawing.Size GetPartSize(System.Drawing.IDeviceContext dc, System.Drawing.Rectangle bounds, System.Windows.Forms.VisualStyles.ThemeSizeType type);
	member this.GetPartSize : System.Drawing.IDeviceContext * System.Drawing.Rectangle * System.Windows.Forms.VisualStyles.ThemeSizeType -> System.Drawing.Size
	Public Function GetPartSize (dc As IDeviceContext, bounds As Rectangle, type As ThemeSizeType) As Size
	Parameters
The IDeviceContext this operation will use.
- type
 - ThemeSizeType
 
One of the ThemeSizeType values that specifies which size value to retrieve for the part.
Returns
A Size that contains the size specified by the type parameter for the current visual style part.
Exceptions
dc is null.
prop is not one of the ThemeSizeType values.