使用默认winform DateTimePicker时,如果单击下拉列表,则可以通过鼠标或箭头键滚动(或翻页)日历,并相应地更改显示的日期/时间值。有没有办法保持显示的值不受影响,即,如果后端值为null或来自后端数据库的固定值,看似空(作为空格),直到您真正从日历中选择一个值来覆盖它?
有时,客户希望从后端不断查看DateTimePicker值作为参考,同时从日历中选择新值。我正在考虑将文本框与datetimepicker组合在一起以实现此行为,但尚未得出可靠的结论。
答案 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;
}