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);
              }
        }
Example #2
0
        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 );
         }
      }