2012-08-31 2 views
3

C#에서 DateTimePicker 및 텍스트 상자를 사용하는 win 양식이 있습니다. 텍스트 상자는 DateTimePicker의 특정 날짜에 대한 사용자 정보를 수집합니다.날짜를 변경하기 전에 C# datetimepicker 값을 읽으십시오.

DateTimePicker에서 날짜가 변경되면 텍스트 상자에 데이터를 저장하려고합니다.

날짜가 변경되면 의 날짜를 읽어야합니다. 날짜가 변경되었습니다.

어떻게하면됩니까? DateTimePicker_valueChanged 이벤트가이 작업을 수행하지 않는 것 같습니다.

dateTimePicker에서 읽은 값은 날짜를 변경 한 후의 값입니다. 날짜를 변경하기 전에 어떻게 날짜를 얻을 수 있습니까?

도와주세요.

답변

3

값을 설정할 때 일종의 변수에 값을 저장해야합니다.

그래서 폼로드시 값을 설정하면 변수에도 값을 저장합니다. change 이벤트가 발생하면 저장된 변수를 사용할 수 있습니다. 작업을 마친 후에는 다음 번 변경 될 때마다 새 변경 값과 일치하도록 작업을 업데이트 할 수 있습니다. 예를 들어

는 :

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을 적용하십시오.

관련 문제