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

PreProcessWmKeyDown_ShiftUp() protected method

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

                if(pos-_hexBox._iHexMaxHBytes < 0 && pos <= _bpiStart.Index)
                    return true;

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

                return true;
            }