protected override void OnTextChanged(EventArgs e) { base.OnTextChanged(e); if (!Blank) { int value; if (!Int32.TryParse(Text, out value)) { base.Text = String.Empty; } else { if (value > RangeUpper) { base.Text = RangeUpper.ToString(CultureInfo.InvariantCulture); SelectionStart = 0; } else if ((TextLength == MaxLength) && (value < RangeLower)) { base.Text = RangeLower.ToString(CultureInfo.InvariantCulture); SelectionStart = 0; } else { int originalLength = TextLength; int newSelectionStart = SelectionStart; base.Text = value.ToString(CultureInfo.InvariantCulture); if (TextLength < originalLength) { newSelectionStart -= (originalLength - TextLength); SelectionStart = Math.Max(0, newSelectionStart); } } } } if (null != TextChangedEvent) { TextChangedEventArgs args = new TextChangedEventArgs(); args.FieldIndex = FieldIndex; args.Text = Text; TextChangedEvent(this, args); } if (TextLength == MaxLength && Focused && SelectionStart == TextLength) { SendCedeFocusEvent(Direction.Forward, Selection.All); } }
private void OnFieldTextChanged( Object sender, TextChangedEventArgs e ) { if ( null != FieldChangedEvent ) { FieldChangedEventArgs args = new FieldChangedEventArgs(); args.FieldIndex = e.FieldIndex; args.Text = e.Text; FieldChangedEvent( this, args ); } OnTextChanged( EventArgs.Empty ); }
protected override void OnTextChanged( EventArgs e ) { base.OnTextChanged( e ); if ( !Blank ) { int val; if ( !Int32.TryParse( Text, out val ) ) { Text = String.Empty; } else { if ( val > RangeUpper ) { Text = RangeUpper.ToString( CultureInfo.InvariantCulture ); } else { Text = val.ToString( CultureInfo.InvariantCulture ); } } } if ( null != TextChangedEvent ) { TextChangedEventArgs args = new TextChangedEventArgs(); args.FieldId = FieldId; args.Text = Text; TextChangedEvent( this, args ); } if ( Text.Length == MaxLength && Focused ) { SendCedeFocusEvent( Direction.Forward, Selection.All ); } }