Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Point Structure
Collapse the table of content
Expand the table of content

Point Structure

Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional plane.

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

public struct Point

The Point type exposes the following members.

Public methodPoint(Int32)Initializes a new instance of the Point class using coordinates specified by an integer value.
Public methodPoint(Size)Initializes a new instance of the Point class from a Size.
Public methodPoint(Int32, Int32)Initializes a new instance of the Point class with the specified coordinates.

Public propertyIsEmptyGets a value indicating whether this Point is empty.
Public propertyXGets or sets the x-coordinate of this Point.
Public propertyYGets or sets the y-coordinate of this Point.

Public methodStatic memberAddAdds the specified Size to the specified Point.
Public methodStatic memberCeilingConverts the specified PointF to a Point by rounding the values of the PointF to the next higher integer values.
Public methodEqualsSpecifies whether this Point contains the same coordinates as the specified Object. (Overrides ValueType.Equals(Object).)
Public methodGetHashCodeReturns a hash code for this Point. (Overrides ValueType.GetHashCode().)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodOffset(Point)Translates this Point by the specified Point.
Public methodOffset(Int32, Int32)Translates this Point by the specified amount.
Public methodStatic memberRoundConverts the specified PointF to a Point object by rounding the Point values to the nearest integer.
Public methodStatic memberSubtractReturns the result of subtracting specified Size from the specified Point.
Public methodToStringConverts this Point to a human-readable string. (Overrides ValueType.ToString().)
Public methodStatic memberTruncateConverts the specified PointF to a Point by truncating the values of the Point.

Public operatorStatic memberAdditionTranslates a Point by a given Size.
Public operatorStatic memberEqualityCompares two Point objects. The result specifies whether the values of the X and Y properties of the two Point objects are equal.
Public operatorStatic memberExplicit(Point to Size)Converts the specified Point structure to a Size structure.
Public operatorStatic memberImplicit(Point to PointF)Converts the specified Point structure to a PointF structure.
Public operatorStatic memberInequalityCompares two Point objects. The result specifies whether the values of the X or Y properties of the two Point objects are unequal.
Public operatorStatic memberSubtractionTranslates a Point by the negative of a given Size.

Public fieldStatic memberEmptyRepresents a Point that has X and Y values set to zero.

To convert a Point to a PointF, use Implicit.

The following code example creates points and sizes using several of the overloaded operators defined for these types. It also demonstrates how to use the SystemPens class.

This example is designed to be used with Windows Forms. Create a form that contains a Button named subtractButton. Paste the code into the form and call the CreatePointsAndSizes method from the form's Paint event-handling method, passing e as PaintEventArgs.

private void CreatePointsAndSizes(PaintEventArgs e)

    // Create the starting point.
    Point startPoint = new Point(subtractButton.Size);

    // Use the addition operator to get the end point.
    Point endPoint = startPoint + new Size(140, 150);

    // Draw a line between the points.
    e.Graphics.DrawLine(SystemPens.Highlight, startPoint, endPoint);

    // Convert the starting point to a size and compare it to the 
    // subtractButton size.  
    Size buttonSize = (Size)startPoint;
    if (buttonSize == subtractButton.Size)

        // If the sizes are equal, tell the user.
        e.Graphics.DrawString("The sizes are equal.", 
            new Font(this.Font, FontStyle.Italic), 
            Brushes.Indigo, 10.0F, 65.0F);


.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

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