Beispiel #1
0
        private void OnCedeFocus(Object sender, CedeFocusEventArgs e)
        {
            switch (e.Action)
            {
            case IPAddressControlLib.Action.Home:
                _fieldControls[0].TakeFocus(IPAddressControlLib.Action.Home);
                return;

            case IPAddressControlLib.Action.End:
                _fieldControls[FieldCount - 1].TakeFocus(IPAddressControlLib.Action.End);
                return;

            case IPAddressControlLib.Action.Trim:
                if (e.FieldIndex == 0)
                {
                    return;
                }

                _fieldControls[e.FieldIndex - 1].TakeFocus(IPAddressControlLib.Action.Trim);
                return;
            }

            if ((e.Direction == Direction.Reverse && e.FieldIndex == 0) ||
                (e.Direction == Direction.Forward && e.FieldIndex == (FieldCount - 1)))
            {
                return;
            }

            int fieldIndex = e.FieldIndex;

            if (e.Direction == Direction.Forward)
            {
                ++fieldIndex;
            }
            else
            {
                --fieldIndex;
            }

            _fieldControls[fieldIndex].TakeFocus(e.Direction, e.Selection);
        }