System.Windows.Forms.HexBox.SetCaretPosition C# (CSharp) Method

SetCaretPosition() private method

private SetCaretPosition ( Point p ) : void
p Point
return void
        void SetCaretPosition(Point p)
        {
            if(_byteProvider == null || _keyInterpreter == null)
                return;

            long pos = _bytePos;
            int cp = _byteCharacterPos;

            if(_recHex.Contains(p))
            {
                BytePositionInfo bpi = GetHexBytePositionInfo(p);
                pos = bpi.Index;
                cp = bpi.CharacterPosition;

                SetPosition(pos, cp);

                ActivateKeyInterpreter();
                UpdateCaret();
                Invalidate();
            }
            else if(_recStringView.Contains(p))
            {
                BytePositionInfo bpi = GetStringBytePositionInfo(p);
                pos = bpi.Index;
                cp = bpi.CharacterPosition;

                SetPosition(pos, cp);

                ActivateStringKeyInterpreter();
                UpdateCaret();
                Invalidate();
            }
        }