【问题标题】:Make Datetimepicker display unchanged value till picking a date in the dropdown calendar C#使 Datetimepicker 显示不变的值,直到在下拉日历 C# 中选择一个日期
【发布时间】:2016-01-19 16:31:23
【问题描述】:

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

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

【问题讨论】:

    标签: datetimepicker


    【解决方案1】:

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

    房产

    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;
    } 
    

    【讨论】:

    • 太棒了。如果您不介意标记为解决方案,我将不胜感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2017-01-06
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多