This documentation is archived and is not being maintained.

Rect.Intersect Method (Rect, Rect)

Returns the intersection of the specified rectangles.

Namespace:  System.Windows
Assembly:  WindowsBase (in WindowsBase.dll)

public static Rect Intersect(
	Rect rect1,
	Rect rect2


Type: System.Windows.Rect
The first rectangle to compare.
Type: System.Windows.Rect
The second rectangle to compare.

Return Value

Type: System.Windows.Rect
The intersection of the two rectangles, or Rect.Empty if no intersection exists.

The following example shows how to use the Intersect(Rect, Rect) method to find the intersection of two rectangles.

private Rect intersectExample2()
    // Initialize new rectangle.
    Rect myRectangle = new Rect();

    // The Location property specifies the coordinates of the upper left-hand 
    // corner of the rectangle. 
    myRectangle.Location = new Point(10, 5);

    // Set the Size property of the rectangle with a width of 200
    // and a height of 50.
    myRectangle.Size = new Size(200, 50);

    // Create second rectangle to compare to the first.
    Rect myRectangle2 = new Rect();
    myRectangle2.Location = new Point(0, 0);
    myRectangle2.Size = new Size(200, 50);

    // Intersect method finds the intersection between the specified rectangles and 
    // returns the result as a Rect. If there is no intersection then the Empty Rect 
    // is returned. resultRectangle has a size of 190,45 and location of 10,5. 
    Rect resultRectangle = Rect.Intersect(myRectangle, myRectangle2);

    return resultRectangle;


.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.