【问题标题】:C# datetimepicker reading values before changing dateC# datetimepicker 在更改日期之前读取值
【发布时间】:2012-08-31 23:26:55
【问题描述】:

我在 C# 中有一个使用 DateTimePicker 和几个文本框的 win 表单。文本框从用户那里收集一些特定于 DateTimePicker 中日期的信息。

我想在 DateTimePicker 中更改日期时将数据保存在文本框中。

为此,我需要阅读 DateTimePicker 中的日期日期更改之前。

我怎么能这样做? DateTimePicker_valueChanged 事件似乎没有这样做。

从 dateTimePicker 读取的值是更改日期后的值。如何在更改日期之前获取日期?

请帮忙。

【问题讨论】:

    标签: c# datetimepicker


    【解决方案1】:

    设置值时需要将值存储在某种变量中。

    因此,如果您在加载表单时设置值,那么您也将其存储在变量中。当更改事件触发时,您可以使用存储的变量。完成后,您可以更新它以匹配新更改的值,为下次更改做好准备。

    例如:

    public class MyClass
    {
    
        DateTime? LastDateValue = null;
    
        void OnLoad()
        {
           //Set both datepicker and LastDateValue to be the same
        }
    
        void DateTimePicker_valueChanged()
        {
           //use LastDateValue to save text fields
           //set LastDateValue to match new value ready to use on next event fire
        }
    
    }
    

    【讨论】:

    • +1。如果您需要在多个 DateTimePicker 上执行此操作,您可能需要创建一个继承自 DateTimePicker 并封装“存储最后一个值”逻辑的自定义控件。
    【解决方案2】:

    在您初始化 DateTimePicker 时,在某个变量中读取它的日期。

    然后应用您的DateTimePicker_valueChanged event,它将继续存储以前的值并很快重置为新值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 2019-11-20
      • 1970-01-01
      • 2011-10-02
      相关资源
      最近更新 更多