我在 UI 中使用此DateTimePicker
控件。
我希望我的控件的行为类似于用户按下“删除”或“退格”键时DateTimePicker
控件上显示的值应为空字符串。
最初我通过将其CustomFormat
属性设置为空字符串进行管理,以便在 UI 加载时显示为null。
我正在使用KeyDown
事件检查/验证用户是否已输入删除或 Backspace 键。
请帮助。
马那里
答案 0 :(得分:2)
private void date_KeyDown(object sender, KeyEventArgs e)
{
if(e.Key == Key.Back || e.Key == Key.Delete)
date.SelectedDate = null;
}
答案 1 :(得分:2)
这对你有用。在获得新值之前,您需要将格式重置为所需的格式(长,短,时间,自定义)。在ValueChanged事件中执行此操作。
private void dateTimePicker1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete || e.KeyCode == Keys.Back)
{
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = " ";
}
}
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
dateTimePicker1.Format = DateTimePickerFormat.Long;
}
保存dateTimePicker的值时,可以测试dateTimePicker1.Format == DateTimePickerFormat.Custom,然后将值保存为数据库中的null。
享受!