使Datetimepicker显示未更改的值,直到在下拉日历中选择日期C#

时间:2016-01-19 16:31:23

标签: datetimepicker

使用默认winform DateTimePicker时,如果单击下拉列表,则可以通过鼠标或箭头键滚动(或翻页)日历,并相应地更改显示的日期/时间值。有没有办法保持显示的值不受影响,即,如果后端值为null或来自后端数据库的固定值,看似空(作为空格),直到您真正从日历中选择一个值来覆盖它?

有时,客户希望从后端不断查看DateTimePicker值作为参考,同时从日历中选择新值。我正在考虑将文本框与datetimepicker组合在一起以实现此行为,但尚未得出可靠的结论。

1 个答案:

答案 0 :(得分:0)

我一直在玩这个,我相信你想使用自定义格式选项。你可能需要稍微玩一下,但基本上,我添加了一个名为" ChosenDate"的属性(字符串)...然后我将它分配给" CustomFormat" datetimepicker1的属性,然后在特写上重置它。玩弄这个,看看你能不能做到你想要的......

属性

private string _dttime;

public string ChosenDate
{
    get { return _dttime; }
    set { _dttime = value; }
}

在初始化函数中......

ChosenDate = dateTimePicker1.Value.ToShortDateString();
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = ChosenDate;
dateTimePicker1.CloseUp += dateTimePicker1_CloseUp;

处理函数

void dateTimePicker1_CloseUp(object sender, EventArgs e)
{
    ChosenDate = (sender as DateTimePicker).Value.ToShortDateString();
    dateTimePicker1.CustomFormat = ChosenDate;
}