Rect Structure

 

Describes the width, height, and location of a rectangle.

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

[<Sealed>]
[<SerializableAttribute>]
[<TypeConverterAttribute(typeof(RectConverter))>]
type Rect = 
    struct
        interface IFormattable
    end

NameDescription
System_CAPS_pubmethodRect(Double, Double, Double, Double)

Initializes a new instance of the Rect structure that has the specified x-coordinate, y-coordinate, width, and height.

System_CAPS_pubmethodRect(Point, Point)

Initializes a new instance of the Rect structure that is exactly large enough to contain the two specified points.

System_CAPS_pubmethodRect(Point, Size)

Initializes a new instance of the Rect structure that has the specified top-left corner location and the specified width and height.

System_CAPS_pubmethodRect(Point, Vector)

Initializes a new instance of the Rect structure that is exactly large enough to contain the specified point and the sum of the specified point and the specified vector.

System_CAPS_pubmethodRect(Size)

Initializes a new instance of the Rect structure that is of the specified size and is located at (0,0).

NameDescription
System_CAPS_pubpropertyBottom

Gets the y-axis value of the bottom of the rectangle.

System_CAPS_pubpropertyBottomLeft

Gets the position of the bottom-left corner of the rectangle

System_CAPS_pubpropertyBottomRight

Gets the position of the bottom-right corner of the rectangle.

System_CAPS_pubpropertySystem_CAPS_staticEmpty

Gets a special value that represents a rectangle with no position or area.

System_CAPS_pubpropertyHeight

Gets or sets the height of the rectangle.

System_CAPS_pubpropertyIsEmpty

Gets a value that indicates whether the rectangle is the Empty rectangle.

System_CAPS_pubpropertyLeft

Gets the x-axis value of the left side of the rectangle.

System_CAPS_pubpropertyLocation

Gets or sets the position of the top-left corner of the rectangle.

System_CAPS_pubpropertyRight

Gets the x-axis value of the right side of the rectangle.

System_CAPS_pubpropertySize

Gets or sets the width and height of the rectangle.

System_CAPS_pubpropertyTop

Gets the y-axis position of the top of the rectangle.

System_CAPS_pubpropertyTopLeft

Gets the position of the top-left corner of the rectangle.

System_CAPS_pubpropertyTopRight

Gets the position of the top-right corner of the rectangle.

System_CAPS_pubpropertyWidth

Gets or sets the width of the rectangle.

System_CAPS_pubpropertyX

Gets or sets the x-axis value of the left side of the rectangle.

System_CAPS_pubpropertyY

Gets or sets the y-axis value of the top side of the rectangle.

NameDescription
System_CAPS_pubmethodContains(Double, Double)

Indicates whether the rectangle contains the specified x-coordinate and y-coordinate.

System_CAPS_pubmethodContains(Point)

Indicates whether the rectangle contains the specified point.

System_CAPS_pubmethodContains(Rect)

Indicates whether the rectangle contains the specified rectangle.

System_CAPS_pubmethodEquals(Object)

Indicates whether the specified object is equal to the current rectangle.(Overrides ValueType.Equals(Object).)

System_CAPS_pubmethodEquals(Rect)

Indicates whether the specified rectangle is equal to the current rectangle.

System_CAPS_pubmethodSystem_CAPS_staticEquals(Rect, Rect)

Indicates whether the specified rectangles are equal.

System_CAPS_pubmethodGetHashCode()

Creates a hash code for the rectangle. (Overrides ValueType.GetHashCode().)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodInflate(Double, Double)

Expands or shrinks the rectangle by using the specified width and height amounts, in all directions.

System_CAPS_pubmethodSystem_CAPS_staticInflate(Rect, Double, Double)

Creates a rectangle that results from expanding or shrinking the specified rectangle by the specified width and height amounts, in all directions.

System_CAPS_pubmethodSystem_CAPS_staticInflate(Rect, Size)

Returns the rectangle that results from expanding the specified rectangle by the specified Size, in all directions.

System_CAPS_pubmethodInflate(Size)

Expands the rectangle by using the specified Size, in all directions.

System_CAPS_pubmethodIntersect(Rect)

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

System_CAPS_pubmethodSystem_CAPS_staticIntersect(Rect, Rect)

Returns the intersection of the specified rectangles.

System_CAPS_pubmethodIntersectsWith(Rect)

Indicates whether the specified rectangle intersects with the current rectangle.

System_CAPS_pubmethodOffset(Double, Double)

Moves the rectangle by the specified horizontal and vertical amounts.

System_CAPS_pubmethodSystem_CAPS_staticOffset(Rect, Double, Double)

Returns a rectangle that is offset from the specified rectangle by using the specified horizontal and vertical amounts.

System_CAPS_pubmethodSystem_CAPS_staticOffset(Rect, Vector)

Returns a rectangle that is offset from the specified rectangle by using the specified vector.

System_CAPS_pubmethodOffset(Vector)

Moves the rectangle by the specified vector.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Creates a new rectangle from the specified string representation.

System_CAPS_pubmethodScale(Double, Double)

Multiplies the size of the current rectangle by the specified x and y values.

System_CAPS_pubmethodToString()

Returns a string representation of the rectangle. (Overrides ValueType.ToString().)

System_CAPS_pubmethodToString(IFormatProvider)

Returns a string representation of the rectangle by using the specified format provider.

System_CAPS_pubmethodTransform(Matrix)

Transforms the rectangle by applying the specified matrix.

System_CAPS_pubmethodSystem_CAPS_staticTransform(Rect, Matrix)

Returns the rectangle that results from applying the specified matrix to the specified rectangle.

System_CAPS_pubmethodUnion(Point)

Expands the current rectangle exactly enough to contain the specified point.

System_CAPS_pubmethodUnion(Rect)

Expands the current rectangle exactly enough to contain the specified rectangle.

System_CAPS_pubmethodSystem_CAPS_staticUnion(Rect, Point)

Creates a rectangle that is exactly large enough to include the specified rectangle and the specified point.

System_CAPS_pubmethodSystem_CAPS_staticUnion(Rect, Rect)

Creates a rectangle that is exactly large enough to contain the two specified rectangles.

NameDescription
System_CAPS_puboperatorSystem_CAPS_staticEquality(Rect, Rect)

Compares two rectangles for exact equality.

System_CAPS_puboperatorSystem_CAPS_staticInequality(Rect, Rect)

Compares two rectangles for inequality.

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIFormattable.ToString(String, IFormatProvider)

Formats the value of the current instance using the specified format.

<object property="x,y,width,height"/>

x

System.Double

The x-coordinate location of the left side of the rectangle.

y

System.Double

The y-coordinate location of the top side of the rectangle.

width

System.Double

A non-negative value that represents the Width of the rectangle.

height

System.Double

A non-negative value that represents the Height of the rectangle.

The following example shows how to use a Rect structure to specify the dimensions and location of a rectangle using XAML.

No code example is currently available or this language may not be supported.
<Page  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Canvas>

    <!-- This rectangle demonstrates using the X, Y, Width, and Height properties
         of a Rect object. -->
    <Path Stroke="Black" StrokeThickness="1" Fill="LemonChiffon">
      <Path.Data>

        <!-- This RectangleGeometry specifies a rectangle that is 100 pixels high and
             150 wide. The left side of the rectangle is 10 pixels from the left of the 
             Canvas and the top side of the rectangle is 100 pixels from the top of the Canvas.  
             Note: An abbreviated syntax for creating an equivalent rectangle is:
             <RectangleGeometry Rect="10,100,150,100" /> -->
        <RectangleGeometry>
          <RectangleGeometry.Rect>
            <Rect X="10" Y="100" Width="150" Height="100" />
          </RectangleGeometry.Rect>
        </RectangleGeometry>
      </Path.Data>
    </Path>

    <!-- This rectangle demonstrates using the Size and Location properties of a Rect object. -->
    <Path Stroke="Black" StrokeThickness="1" Fill="LemonChiffon">
      <Path.Data>

        <!-- This RectangleGeometry uses the Size property to specify a height of 50 and width
             of 200. The Location property uses a Point value to determine the location of the
             top-left corner of the rectangle. /> -->
        <RectangleGeometry>
          <RectangleGeometry.Rect>
            <Rect Size="50,200" Location="300,100" />
          </RectangleGeometry.Rect>
        </RectangleGeometry>
      </Path.Data>
    </Path>
  </Canvas>
</Page>

The following example shows how to use code to create a rectangle and add it to the page. The example also illustrates how to find size and coordinate information about the new rectangle and render the information in a TextBox below the rectangle.

// Create a rectangle and add it to the page. Also,
// find size and coordinate information about this
// new rectangle and render information in a TextBox 
// below the rectangle.
private StackPanel createRectExample1()
{
    // Initialize new rectangle.
    Rect myRectangle = new Rect();

    // The Location property specifies the coordinates of the upper left-hand 
    // corner of the rectangle. Set the Location property to an X coordinate of 10 and a
    // Y coordinate of 5. 
    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);

    RectangleGeometry myRectangleGeometry = new RectangleGeometry();
    myRectangleGeometry.Rect = myRectangle;

    // This path is defined by the rectangle.
    Path myPath = new Path();
    myPath.Fill = Brushes.LemonChiffon;
    myPath.Stroke = Brushes.Black;
    myPath.StrokeThickness = 1;
    myPath.Data = myRectangleGeometry;

    //////////// Create string of rectangle property information /////////////
    // This string will contain all the size and coordinate property
    // information about the rectangle.
    /////////////////////////////////////////////////////////////////////////
    string rectInfo = "Rectangle Property Information: ";

    // Bottom property gets the y-axis value of the bottom of the rectangle. 
    // For this rectangle the value is 55.
    rectInfo = rectInfo + "Bottom: " + myRectangle.Bottom;

    // BottomLeft property gets the coordinates of the bottom left corner of the rectangle. 
    // For this rectangle the value is 10,55.
    rectInfo = rectInfo + "| BottomLeft: " + myRectangle.BottomLeft;

    // BottomRight property gets the coordinates of the bottom right corner of the rectangle. 
    // For this rectangle the value is 210,55.
    rectInfo = rectInfo + "| BottomRight: " + myRectangle.BottomRight;

    // Height property gets or sets the height of the rectangle. 
    // For this rectangle the value is 50.
    rectInfo = rectInfo + "| Height: " + myRectangle.Height;

    // Width property gets or sets the width of the rectangle. 
    // For this rectangle the value is 200.
    rectInfo = rectInfo + "| Width: " + myRectangle.Width;

    // Left property gets the x-axis position of the left side of the rectangle which is 
    // equivalent to getting the rectangle's X property. 
    // For this rectangle the value is 10.
    rectInfo = rectInfo + "| Left: " + myRectangle.Left;

    // Location property gets or sets the position of the rectangle's top-left corner.
    // For this rectangle the value is 10,5.
    rectInfo = rectInfo + "| Location: " + myRectangle.Location;

    // Right property gets the x-axis value of the right side of the rectangle. 
    // For this rectangle the value is 210.
    rectInfo = rectInfo + "| Right: " + myRectangle.Right;

    // Size property gets or sets the width and height of the rectangle.  
    // For this rectangle the value is 200,50.
    rectInfo = rectInfo + "| Size: " + myRectangle.Size;

    // Top property gets the y-axis position of the top of the rectangle which is 
    // equivalent to getting the rectangle's Y property.
    // For this rectangle the value is 5.
    rectInfo = rectInfo + "| Top: " + myRectangle.Top;

    // TopLeft property gets the position of the top-left corner of the rectangle, which 
    // is equivalent to (X, Y).   
    // For this rectangle the value is 10,5.
    rectInfo = rectInfo + "| TopLeft: " + myRectangle.TopLeft;

    // TopRight property gets the position of the top-left corner of the rectangle, which 
    // is equivalent to (X + Width, Y).   
    // For this rectangle the value is 210,5.
    rectInfo = rectInfo + "| TopRight: " + myRectangle.TopRight;

    // X property gets or sets the location of the rectangle's left side.  
    // For this rectangle the value is 10.
    rectInfo = rectInfo + "| X: " + myRectangle.X;

    // Y property gets or sets the location of the rectangle's top side.  
    // For this rectangle the value is 5.
    rectInfo = rectInfo + "| Y: " + myRectangle.Y;

    //////// End of creating string containing rectangle property information ////////

    // This StackPanel will contain the rectangle and TextBlock.
    StackPanel parentPanel = new StackPanel();

    // Add the rectangle path to the StackPanel. This will display the rectangle.
    parentPanel.Children.Add(myPath);

    // Add a TextBlock to display the rectangle's size and coordinate information.
    TextBlock myTextBlock = new TextBlock();
    myTextBlock.Text = rectInfo;
    parentPanel.Children.Add(myTextBlock);

    // Return the parent container to be displayed to the screen.
    return parentPanel;
}

.NET Framework
Available since 3.0
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: