Rectangle.Union Method (Rectangle, Rectangle)


Gets a Rectangle structure that contains the union of two Rectangle structures.

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public static Rectangle Union(
	Rectangle a,
	Rectangle b


Type: System.Drawing.Rectangle

A rectangle to union.

Type: System.Drawing.Rectangle

A rectangle to union.

Return Value

Type: System.Drawing.Rectangle

A Rectangle structure that bounds the union of the two Rectangle structures.

When one of the two rectangles is empty, meaning all of its values are zero, the Union method returns a rectangle with a starting point of (0, 0), and the height and width of the non-empty rectangle. For example, if you have two rectangles: A = (0, 0; 0, 0) and B = (1, 1; 2, 2), then the union of A and B is (0, 0; 2, 2).

The following code example demonstrates how to use the Union method. This example is designed for use with a Windows Form. Paste this code into a form and call the ShowRectangleUnion method when handling the form's Paint event, passing e as PaintEventArgs.

private void ShowRectangleUnion(PaintEventArgs e)

    // Declare two rectangles and draw them.
    Rectangle rectangle1 = new Rectangle(30, 40, 50, 100);
    Rectangle rectangle2 = new Rectangle(50, 60, 100, 60);
    e.Graphics.DrawRectangle(Pens.Sienna, rectangle1);
    e.Graphics.DrawRectangle(Pens.BlueViolet, rectangle2);

    // Declare a third rectangle as a union of the first two.
    Rectangle rectangle3 = Rectangle.Union(rectangle1, rectangle2);

    // Fill in the third rectangle in a semi-transparent color.
    Color transparentColor = Color.FromArgb(40, 135, 135, 255);
    e.Graphics.FillRectangle(new SolidBrush(transparentColor), rectangle3);

.NET Framework
Available since 1.1
Return to top