private void TextBoxItem_KeyDown(object sender, KeyEventArgs e) { if (e.Handled || this.TextBoxItem.ReadOnly) { return; } if (e.Control && this.EnableNullValueInput && (e.KeyCode == Keys.Delete || e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0)) { this.Value = (object)null; e.Handled = true; } else { bool isNullValue = this.isNullValue; if (!this.EnableNullValueInput) { this.isNullValue = false; } this.isKeyBoard = true; KeyEventArgsWithMinMax eventArgsWithMinMax = new KeyEventArgsWithMinMax(e.KeyData, this.minDate, this.maxDate); if (this.EnableArrowKeys || e.KeyCode != Keys.Up && e.KeyCode != Keys.Down) { this.provider.KeyDown(sender, (KeyEventArgs)eventArgsWithMinMax); } e.Handled = eventArgsWithMinMax.Handled; this.isNullValue = isNullValue && !e.Handled; this.isKeyBoard = false; } }
void TextBoxItem_KeyDown(object sender, KeyEventArgs e) { bool shouldRestoreNullValue = isNullValue; this.isNullValue = false; this.isKeyBoard = true; KeyEventArgsWithMinMax args = new KeyEventArgsWithMinMax(e.KeyData, this.minDate, this.maxDate); this.provider.KeyDown(sender, args); e.Handled = args.Handled; this.isNullValue = shouldRestoreNullValue && !e.Handled; this.isKeyBoard = false; }
public void KeyDown(object sender, KeyEventArgs e) { KeyEventArgsWithMinMax keyEventArgsWithMinMax = e as KeyEventArgsWithMinMax; DateTime minDate = DateTime.MinValue; DateTime maxDate = DateTime.MaxValue; if (keyEventArgsWithMinMax != null) { minDate = keyEventArgsWithMinMax.MinDate; maxDate = keyEventArgsWithMinMax.MaxDate; } if (e.KeyCode == Keys.Right) { this.SelectNextEditableItem(); e.Handled = true; } else if (e.KeyCode == Keys.Left) { this.SelectPrevEditableItem(); e.Handled = true; } else if (e.KeyCode == Keys.Up) { this.HandleSpinUp(minDate, maxDate); e.Handled = true; } else if (e.KeyCode == Keys.Down) { this.HandleSpinDown(minDate, maxDate); e.Handled = true; } else if (e.KeyValue == 46) { this.ResetCurrentPartValue(sender, e); e.Handled = true; } else if (e.KeyCode == Keys.Home && (int)(e.KeyData & Keys.Shift) == 0) { this.SelectFirstEditableItem(); e.Handled = true; } else if (e.KeyCode == Keys.End && (int)(e.KeyData & Keys.Shift) == 0) { this.SelectLastEditableItem(); e.Handled = true; } }
public override void KeyDown(object sender, KeyEventArgs e) { if (this.List == null && e.KeyValue == 13) { this.TryParse(); e.Handled = true; } if (this.List == null && e.KeyCode != Keys.Down && e.KeyCode != Keys.Up) { return; } KeyEventArgsWithMinMax eventArgsWithMinMax = e as KeyEventArgsWithMinMax; DateTime minDate = DateTime.MinValue; DateTime maxDate = DateTime.MaxValue; if (e.Handled) { return; } if (eventArgsWithMinMax != null) { minDate = eventArgsWithMinMax.MinDate; maxDate = eventArgsWithMinMax.MaxDate; } if (e.KeyCode == Keys.Right || e.KeyCode == Keys.Space) { this.SelectNextEditableItem(); e.Handled = true; } else if (e.KeyCode == Keys.Left) { this.SelectPrevEditableItem(); e.Handled = true; } else if (e.KeyCode == Keys.Up) { this.HandleSpinUp(minDate, maxDate); e.Handled = true; } else if (e.KeyCode == Keys.Down) { this.HandleSpinDown(minDate, maxDate); e.Handled = true; } else if (e.KeyValue == 46) { if (this.TextBoxItem.SelectionLength != this.TextBoxItem.Text.Length) { this.ResetCurrentPartValue(sender, e); } else { this.Value = (object)minDate; } e.Handled = true; } else if (e.KeyCode == Keys.Home && (e.KeyData & Keys.Shift) == Keys.None) { this.SelectFirstEditableItem(); e.Handled = true; } else { if (e.KeyCode != Keys.End || (e.KeyData & Keys.Shift) != Keys.None) { return; } this.SelectLastEditableItem(); e.Handled = true; } }