System.Windows.Forms.HexBox.KeyInterpreter.PreProcessWmKeyDown_ShiftDown C# (CSharp) Method

PreProcessWmKeyDown_ShiftDown() protected method

protected PreProcessWmKeyDown_ShiftDown ( Message &m ) : bool
m Message
return bool
            protected virtual bool PreProcessWmKeyDown_ShiftDown(ref Message m)
            {
                long pos = _hexBox._bytePos;
                long sel = _hexBox._selectionLength;

                long max = _hexBox._byteProvider.Length;

                if(pos+sel+_hexBox._iHexMaxHBytes > max)
                    return true;

                if(_bpiStart.Index <= pos)
                {
                    sel += _hexBox._iHexMaxHBytes;
                    _hexBox.InternalSelect(pos, sel);
                    _hexBox.ScrollByteIntoView(pos+sel);
                }
                else
                {
                    sel -= _hexBox._iHexMaxHBytes;
                    if(sel < 0)
                    {
                        pos = _bpiStart.Index;
                        sel = -sel;
                    }
                    else
                    {
                        pos += _hexBox._iHexMaxHBytes;
                        sel -= _hexBox._iHexMaxHBytes;
                    }

                    _hexBox.InternalSelect(pos, sel);
                    _hexBox.ScrollByteIntoView();
                }

                return true;
            }