2012-02-16 3 views
0
public void setRange(int which)  
{ 
    if (datelimitsset == 1) 
    { 
     if (startPicker.Value >= endPicker.Value && which == 1) 
      // do stuff; 
    } 
} 

Так что этот код просто использует datetimepicker.value для получения даты. Однако он всегда возвращается 1 февраля, когда выбрана максимальная дата (максимальная дата для моего тестирования - 13/02/2012) Кто-нибудь знает, почему это может случиться?DateTimePicker.Value возвращает неверную, но согласованную дату

+1

Это нормально в моем vs2010. лучше разместить исходный код. – findcaiyzh

+1

Вы имеете в виду, что один из сборщиков имеет неправильное значение, когда вы вызываете эту функцию? Вы уверены, что не используете другой код, который изменяет это значение? Возможно, вы добавили обработчик событий, который меняет значение, если он равен MaxDate –

ответ

1

Использована

private void endPicker_CloseUp(object sender, EventArgs e)

событие вместо:

private void endPicker_ValueChanged(object sender, EventArgs e)

Это событие запускается один раз выбирается значение, а не до того; поэтому он не по умолчанию не первый месяц.