4 out of 5 rated this helpful - Rate this topic

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)
[SerializableAttribute]
[ComVisibleAttribute(true)]
[TypeConverterAttribute(typeof(PointConverter))]
public struct Point

The Point type exposes the following members.

  Name Description
Public method Point(Int32) Initializes a new instance of the Point class using coordinates specified by an integer value.
Public method Point(Size) Initializes a new instance of the Point class from a Size.
Public method Point(Int32, Int32) Initializes a new instance of the Point class with the specified coordinates.
Top
  Name Description
Public property IsEmpty Gets a value indicating whether this Point is empty.
Public property X Gets or sets the x-coordinate of this Point.
Public property Y Gets or sets the y-coordinate of this Point.
Top
  Name Description
Public method Static member Add Adds the specified Size to the specified Point.
Public method Static member Ceiling Converts the specified PointF to a Point by rounding the values of the PointF to the next higher integer values.
Public method Equals Specifies whether this Point contains the same coordinates as the specified Object. (Overrides ValueType.Equals(Object).)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Returns a hash code for this Point. (Overrides ValueType.GetHashCode().)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Offset(Point) Translates this Point by the specified Point.
Public method Offset(Int32, Int32) Translates this Point by the specified amount.
Public method Static member Round Converts the specified PointF to a Point object by rounding the Point values to the nearest integer.
Public method Static member Subtract Returns the result of subtracting specified Size from the specified Point.
Public method ToString Converts this Point to a human-readable string. (Overrides ValueType.ToString().)
Public method Static member Truncate Converts the specified PointF to a Point by truncating the values of the Point.
Top
  Name Description
Public operator Static member Addition Translates a Point by a given Size.
Public operator Static member Equality Compares two Point objects. The result specifies whether the values of the X and Y properties of the two Point objects are equal.
Public operator Static member Explicit(Point to Size) Converts the specified Point structure to a Size structure.
Public operator Static member Implicit(Point to PointF) Converts the specified Point structure to a PointF structure.
Public operator Static member Inequality Compares two Point objects. The result specifies whether the values of the X or Y properties of the two Point objects are unequal.
Public operator Static member Subtraction Translates a Point by the negative of a given Size.
Top
  Name Description
Public field Static member Empty Represents a Point that has X and Y values set to zero.
Top

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, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Incorrect usage of "class"
Should the constructor comment "Initializes a new instance of the Point class using coordinates specified by an integer value." use the word "class" given it is a struct?  This applies to all the constructor comments.