Как мога да направя така, че ако натиснете число, докато избирате DateTimePicker, то да не промени стойността?
В момента имам onKeyDown за улавяне на всички числа и задаване на e.Handled = true, но това все още не изглежда да го отменя.
Благодаря!
Как мога да направя така, че ако натиснете число, докато избирате DateTimePicker, то да не промени стойността?
В момента имам onKeyDown за улавяне на всички числа и задаване на e.Handled = true, но това все още не изглежда да го отменя.
Благодаря!
Опитайте вместо това да замените събитието OnKeyPress:
protected override void OnKeyPress(KeyPressEventArgs e) {
e.Handled = true;
base.OnKeyPress(e);
}
или ако просто използвате текущия DateTimePicker, без да създавате свой собствен контрол:
private void dateTimePicker1_KeyPress(object sender, KeyPressEventArgs e) {
e.Handled = true;
}
Клавишите със стрелки все още трябва да работят.
OnKeyPress
и НЕ предавате base.OnKeyPress(e)
? Иначе не, не съм сигурен какво правиш. Моят малък пример работи върху нова форма. Натискането на клавишите със стрелки работи, натискането на цифри и букви не променя датата.
- person LarsTech; 24.10.2011