Point.Offset Method

Updated: April 2011

Offsets a point's X and Y coordinates by the specified amounts.

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

public void Offset(
	double offsetX,
	double offsetY
)
You cannot use methods in XAML.

Parameters

offsetX
Type: System.Double

The amount to offset the point's

X coordinate.

offsetY
Type: System.Double

The amount to offset the

point's Y coordinate.

This operation is equivalent to adding a Point to a Vector.

Note that calling the Offset method will only have an effect if you can change the X and Y properties directly. Because Point is a value type, if you reference a Point object by using a property or indexer, you get a copy of the object, not a reference to the object. If you attempt to change X or Y on a property or indexer reference, a compiler error occurs. Similarly, calling Offset on the property or indexer will not change the underlying object.  If you want to change the value of a Point that is referenced as a property or indexer, create a new Point, modify its fields, and then assign the Point back to the property or indexer. 

The following example shows how to offset the X and Y values of a Point structure.

private Point offsetExample()
{

    Point pointResult = new Point(10, 5);

    // Offset Point X value by 20 and Y value by 30. 
    // point1 is now equal to (30,35)
    pointResult.Offset(20, 30);

    return pointResult;

}

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0

Date

History

Reason

April 2011

Added remark about using Offset with properties and indexers.

Information enhancement.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft