# Point.Offset(Double, Double)Point.Offset(Double, Double)Point.Offset(Double, Double)Point.Offset(Double, Double) Method

## Definition

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

``````public:
void Offset(double offsetX, double offsetY);``````
``public void Offset (double offsetX, double offsetY);``
``member this.Offset : double * double -> unit``
``Public Sub Offset (offsetX As Double, offsetY As Double)``

#### Parameters

offsetX
Double Double Double Double

The amount to offset the point's X coordinate.

offsetY
Double Double Double Double

The amount to offset the point's Y coordinate.

## Examples

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;

}
``````

## Remarks

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.