# Rect.Intersect Method

## Definition

Finds the intersection of two rectangles.

## Overloads

Intersect(Rect) |
Finds the intersection of the current rectangle and the specified rectangle, and stores the result as the current rectangle. |

Intersect(Rect, Rect) |
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`

`Public Sub Intersect (rect As Rect)`

#### 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.

### See also

## 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;
}
```