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