/// <summary> /// Pres the process wm key down_ down. /// </summary> /// <param name="m">The m.</param> /// <returns></returns> protected virtual bool PreProcessWmKeyDown_Down(ref Message m) { long pos = HexViewer.bytePosition; int cp = HexViewer.byteCharacterPosition; if (pos == HexViewer._byteProvider.Length && cp == 0) { return(true); } pos = Math.Min(HexViewer._byteProvider.Length, pos + HexViewer.hexMaxHBytes); if (pos == HexViewer._byteProvider.Length) { cp = 0; } HexViewer.SetPosition(pos, cp); if (pos > HexViewer.endByte - 1) { HexViewer.PerformScrollLineDown(); } HexViewer.UpdateCaret(); HexViewer.ScrollByteIntoView(); HexViewer.ReleaseSelection(); HexViewer.Invalidate(); return(true); }