0

Нужно что бы при выборе конкретной даты через if выводилось сообщение, например если выбрано 2018, 12, 19 вывести слово Holiday

    private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
    {
        dateTimePicker1.MinDate = new DateTime(1985, 6, 20);
        dateTimePicker1.MaxDate = DateTime.Today;

        //if (dateTimePicker1.Value = 2018 , 12, 18)
        {
            MessageBox.Show("Holliday");
        }


    }
lamer
  • 1
  • Ну и какой тип у dateTimePicker1.Value? Правильно, DateTime. С чем мы сравниваем значения? С объектом того же типа. Как идет сравнение? Двумя знаками равно (==). Исходя из этого к какому выводу приходим? – EvgeniyZ Dec 16 '18 at 16:17
  • EvgeniyZ if (dateTimePicker1.Value == new DateTime(2018 , 12, 18)) верно? – lamer Dec 16 '18 at 16:25
  • 1
    А что мешает проверить?) Ведь не будете же вы при каждом "чихе" спрашивать помощи у прохожих. Попробуйте, нечего плохого не случится! – EvgeniyZ Dec 16 '18 at 16:30
  • Компилируется нормально но не появляется MessageBox при выборе этой даты – lamer Dec 16 '18 at 16:37
  • 2
    Следующий шаг - отладка. Поставьте точку остановки на строку if и посмотрите чему равен Value, равен ли он той дате, что вы указали? Скажу сразу, скорей всего нет, ибо вы выбираете число 18, когда ограничиваете диапазон дат текущим (16) и из за этого после строки dateTimePicker1.MaxDate = DateTime.Today; контрол не воспримет дату выше текущей, выбирая заместо нее последнее доступное (16). Кстати, такое ограничение в событие нет смысла делать, достаточно в конструкторе прописать, либо один раз при инициализации формы (например). – EvgeniyZ Dec 16 '18 at 16:53
  • Все заработало , спасибо – lamer Dec 16 '18 at 17:01
  • Полученный вариант с вашими комментариями (только поподробнее, будущим читателям должно быть понятно) можете оформить как ответ. "Закроем" таким образом вопрос. – EvgeniyZ Dec 16 '18 at 17:12

0 Answers0