Exemple #1
0
        public static void handleNumberkeyDown(TextType _texttype, ref  KeyEventArgs e, NumberType _NumberType, NumberPower __NumberPower)
        {
            bool result = true;

            bool numericKeys = (
                ((e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9) ||
                (e.KeyCode >= Keys.NumPad0 && e.KeyCode <= Keys.NumPad9))
                && e.Modifiers != Keys.Shift);

            bool ctrlA = e.KeyCode == Keys.A && e.Modifiers == Keys.Control;
            bool mark = (e.KeyCode == Keys.OemMinus && __NumberPower != NumberPower.positiveOnly) || (e.KeyCode == Keys.Oemplus && __NumberPower != NumberPower.NegativeOnly);
            bool comma = (_NumberType != NumberType.Integer && (e.KeyData == Keys.Decimal || e.KeyCode == Keys.Oemcomma || e.KeyCode == Keys.OemPeriod));
            bool editKeys = (
                (e.KeyCode == Keys.Z && e.Modifiers == Keys.Control) ||
                (e.KeyCode == Keys.X && e.Modifiers == Keys.Control) ||
                (e.KeyCode == Keys.C && e.Modifiers == Keys.Control) ||
                (e.KeyCode == Keys.V && e.Modifiers == Keys.Control) ||
                e.KeyCode == Keys.Delete ||
                e.KeyCode == Keys.Back);

            bool navigationKeys = (
                e.KeyCode == Keys.Up ||
                e.KeyCode == Keys.Right ||
                e.KeyCode == Keys.Down ||
                e.KeyCode == Keys.Left ||
                e.KeyCode == Keys.Home ||
                e.KeyCode == Keys.End);
            switch (_texttype)
            {
                case TextType.IsNumber:
                    {
                        if (!(numericKeys || editKeys || navigationKeys || mark || comma))
                        {

                            if (ctrlA) // Do select all as OS/Framework does not always seem to implement this.
                                //   SelectAll();
                                result = false;
                        }
                        if (!result) // If not valid key then suppress and handle.
                        {
                            e.SuppressKeyPress = true;
                            e.Handled = true;
                            if (ctrlA) { } // Do Nothing!

                        }

                        break;
                    }
                case TextType.IsdateTime: break;
                case TextType.IsMail: break;
                case TextType.IsString: break;
                case TextType.IsTel: break;

            }
        }
 /// <summary>
 /// Creates a new instance of the NumericTextBox
 /// </summary>
 public HNumericTextBox()
 {
     TextAlign = HorizontalAlignment.Right;
     TextType = TextType.IsNumber;
     _NumberType =NumberType.Decimal;
     _NumberPower = NumberPower.positiveOrNegative;
     regex = ClsRegex.numericGetRegex(TextType.IsNumber, _NumberType, _NumberPower);
     _minValue = -10000000;
     _maxValue = 10000000;
     if (_required == true) BackColor = _requiredColor;
 }
Exemple #3
0
 /// <summary>
 /// Creates a new instance of the NumericTextBox
 /// </summary>
 public HNumericTextBox()
 {
     TextAlign    = HorizontalAlignment.Right;
     TextType     = TextType.IsNumber;
     _NumberType  = NumberType.Decimal;
     _NumberPower = NumberPower.positiveOrNegative;
     regex        = ClsRegex.numericGetRegex(TextType.IsNumber, _NumberType, _NumberPower);
     _minValue    = -10000000;
     _maxValue    = 10000000;
     if (_required == true)
     {
         BackColor = _requiredColor;
     }
 }
Exemple #4
0
 public static string numericGetRegex(TextType _TextType, NumberType _numbertype, NumberPower _NumberPower )
 {
     string  Regex = "";
     if (_TextType == TextType.IsNumber)
     {
         ///جزء العلامة  الاشارة
         switch (_NumberPower)
         {
             case NumberPower.positiveOrNegative: Regex +="("+PositivePt +"|"+ negativePt +")"; break;
             case NumberPower.NegativeOnly: Regex +=  negativePt ; break;
             case NumberPower.positiveOnly: Regex += PositivePt; break;
         }
          ///  جزء العلامة العشرية
         switch (_numbertype )
         {
             case NumberType.Integer: Regex += IntegerPt; break;
             case NumberType.Decimalonly: Regex += DecimalPt; break;
             case NumberType.Decimal : Regex +="("+IntegerPt+"|"+ IntegerPt + DecimalPt+")"; break;
         }
         Regex += "$";
     }
     return Regex ;
 }
Exemple #5
0
        public static string numericGetRegex(TextType _TextType, NumberType _numbertype, NumberPower _NumberPower)
        {
            string Regex = "";

            if (_TextType == TextType.IsNumber)
            {
                ///جزء العلامة  الاشارة
                switch (_NumberPower)
                {
                case NumberPower.positiveOrNegative: Regex += "(" + PositivePt + "|" + negativePt + ")"; break;

                case NumberPower.NegativeOnly: Regex += negativePt; break;

                case NumberPower.positiveOnly: Regex += PositivePt; break;
                }
                ///  جزء العلامة العشرية
                switch (_numbertype)
                {
                case NumberType.Integer: Regex += IntegerPt; break;

                case NumberType.Decimalonly: Regex += DecimalPt; break;

                case NumberType.Decimal: Regex += "(" + IntegerPt + "|" + IntegerPt + DecimalPt + ")"; break;
                }
                Regex += "$";
            }
            return(Regex);
        }
Exemple #6
0
        public static void handleNumberkeyDown(TextType _texttype, ref KeyEventArgs e, NumberType _NumberType, NumberPower __NumberPower)
        {
            bool result = true;

            bool numericKeys = (
                ((e.KeyCode >= Keys.D0 && e.KeyCode <= Keys.D9) ||
                 (e.KeyCode >= Keys.NumPad0 && e.KeyCode <= Keys.NumPad9)) &&
                e.Modifiers != Keys.Shift);

            bool ctrlA    = e.KeyCode == Keys.A && e.Modifiers == Keys.Control;
            bool mark     = (e.KeyCode == Keys.OemMinus && __NumberPower != NumberPower.positiveOnly) || (e.KeyCode == Keys.Oemplus && __NumberPower != NumberPower.NegativeOnly);
            bool comma    = (_NumberType != NumberType.Integer && (e.KeyData == Keys.Decimal || e.KeyCode == Keys.Oemcomma || e.KeyCode == Keys.OemPeriod));
            bool editKeys = (
                (e.KeyCode == Keys.Z && e.Modifiers == Keys.Control) ||
                (e.KeyCode == Keys.X && e.Modifiers == Keys.Control) ||
                (e.KeyCode == Keys.C && e.Modifiers == Keys.Control) ||
                (e.KeyCode == Keys.V && e.Modifiers == Keys.Control) ||
                e.KeyCode == Keys.Delete ||
                e.KeyCode == Keys.Back);

            bool navigationKeys = (
                e.KeyCode == Keys.Up ||
                e.KeyCode == Keys.Right ||
                e.KeyCode == Keys.Down ||
                e.KeyCode == Keys.Left ||
                e.KeyCode == Keys.Home ||
                e.KeyCode == Keys.End);

            switch (_texttype)
            {
            case TextType.IsNumber:
            {
                if (!(numericKeys || editKeys || navigationKeys || mark || comma))
                {
                    if (ctrlA)         // Do select all as OS/Framework does not always seem to implement this.
                    //   SelectAll();
                    {
                        result = false;
                    }
                }
                if (!result)         // If not valid key then suppress and handle.
                {
                    e.SuppressKeyPress = true;
                    e.Handled          = true;
                    if (ctrlA)
                    {
                    }                      // Do Nothing!
                }


                break;
            }

            case TextType.IsdateTime: break;

            case TextType.IsMail: break;

            case TextType.IsString: break;

            case TextType.IsTel: break;
            }
        }