# Rect.Intersect Method

## Definition

Finds the intersection of two rectangles.

 Finds the intersection of the current rectangle and the specified rectangle, and stores the result as the current rectangle. Returns the intersection of the specified rectangles.

## Intersect(Rect)

Finds the intersection of the current rectangle and the specified rectangle, and stores the result as the current rectangle.

``````public:
void Intersect(System::Windows::Rect rect);``````
``public void Intersect (System.Windows.Rect rect);``
``member this.Intersect : System.Windows.Rect -> unit``

#### Parameters

rect
Rect

The rectangle to intersect with the current rectangle.

### Examples

The following example shows how to use the Intersect(Rect) method to find the intersection of two rectangles and store the result as a rectangle.

``````private Rect intersectExample1()
{
// 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 current rectangle and the
// specified rectangle, and stores the result as the current rectangle. If no
// intersection exists, the current rectangle becomes the Empty rectangle.
// myRectangle now has a size of 190,45 and location of 10,5.
myRectangle.Intersect(myRectangle2);

// myRectangle has been changed into the intersection area between the old myRectangle
// and myRectangle2 (new size of 190,45 and new location of 10,5).
return myRectangle;

}
``````

### Remarks

If no intersection exists, the current rectangle becomes Rect.Empty.

## Intersect(Rect, Rect)

Returns the intersection of the specified rectangles.

``````public:
static System::Windows::Rect Intersect(System::Windows::Rect rect1, System::Windows::Rect rect2);``````
``public static System.Windows.Rect Intersect (System.Windows.Rect rect1, System.Windows.Rect rect2);``
``static member Intersect : System.Windows.Rect * System.Windows.Rect -> System.Windows.Rect``
``Public Shared Function Intersect (rect1 As Rect, rect2 As Rect) As Rect``

#### Parameters

rect1
Rect

The first rectangle to compare.

rect2
Rect

The second rectangle to compare.

#### Returns

The intersection of the two rectangles, or Empty if no intersection exists.

### Remarks

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;

}
``````