private void DrawCurrentPage(Graphics oGraphics, Rectangle oBounds) { Point[] oPoints = { new Point(oBounds.Left, oBounds.Top), new Point(oBounds.Right, oBounds.Bottom) }; oGraphics.TransformPoints(CoordinateSpace.Device, CoordinateSpace.Page, oPoints); var oPrintRectangle = new PrintRectangle(oPoints[0].X, oPoints[0].Y, oPoints[1].X, oPoints[1].Y); var oRangeToFormat = new RangeToFormat(); oRangeToFormat.hdc = oRangeToFormat.hdcTarget = oGraphics.GetHdc(); oRangeToFormat.rc = oRangeToFormat.rcPage = oPrintRectangle; oRangeToFormat.chrg.cpMin = this._iPosition; oRangeToFormat.chrg.cpMax = this._iPrintEnd; this._iPosition = this._oScintillaControl.NativeInterface.FormatRange(true, ref oRangeToFormat); }