我在UI中使用此DateTimePicker控件。

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

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

我正在使用KeyDown事件来检查/验证用户是否输入了Delete或Backspace键。
请帮助。

马拉里

最佳答案

这应该为您工作。您需要先将格式重设为所需的格式(长,短,时间,自定义),然后才能获取新值。在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。

请享用!

关于c# - DateTimePicker的key_down事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6016179/

10-12 21:33