key_down日期时间选择器的事件

本文关键字:选择器 事件 时间 日期 down key | 更新日期: 2023-09-27 17:56:38

我在UI中使用了这个DateTimePicker控件。

我希望我的控件的行为类似于当用户按"删除"或"退格键"时DateTimePicker控件上显示的值应为空字符串。

最初,我将其CustomFormat属性设置为空字符串进行管理,以便在UI加载时显示为null。

我正在使用KeyDown事件来检查/验证用户是否已输入删除退格键。请帮忙。

马纳利

key_down日期时间选择器的事件

这应该适合您。您需要将格式重置回所需的格式(长、短、时间、自定义),然后才能获得新值。在 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。

享受!

  private void date_KeyDown(object sender, KeyEventArgs e)
        {
            if(e.Key == Key.Back || e.Key == Key.Delete)
                date.SelectedDate = null;
        }