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); }