2012-08-31 96 views
3

我在C#中使用DateTimePicker和幾個文本框獲勝。文本框從DateTimePicker中特定於日期的用戶收集一些信息。C#datetimepicker在更改日期前讀取值

我想在DateTimePicker中更改日期時將數據保存在文本框中。

爲此,我需要在DateTimePicker 之前讀取日期之前的日期更改。

我該怎麼做? DateTimePicker_valueChanged事件似乎沒有這樣做。

從dateTimePicker中讀取的值是更改日期後的值。如何在更改日期之前獲得日期?

請幫忙。

回答

3

當您設置該值時,您需要將該值存儲在某種變量中。

因此,如果您要設置表單的加載值,那麼您也可以將它存儲在變量中。當更改事件觸發時,您可以使用存儲的變量。一旦你完成了它,你可以更新它,以匹配下一次改變的新的改變的值。

例如:

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

+1。如果您需要在多個DateTimePicker上執行該操作,則可能需要創建一個從DateTimePicker繼承的自定義控件並封裝「存儲最後一個值」邏輯。 –

+0

感謝您的智慧。這可能工作。再次感謝。 – PPGoodMan

0

非常一次初始化DateTimePicker,在一些可變的讀取它的日期。

然後應用您的DateTimePicker_valueChanged event將繼續存儲以前的值,並很快重置爲新的。