ilostmyid2 Ответов: 1

960331-как ограничить datetimepicker получасом?


В виде Windows-приложения, мне нужно поставить время выбора. Я думаю, что могу выбрать между системой.Окна.Формы.DateTimePicker или Telerik.WinControls.Пользовательского интерфейса.RadDateTimePicker. Он не должен использоваться для выбора даты. Он должен быть использован раз в 24 часа. Но время должно быть выровнено через полчаса, например 00:00, 00:30, 01:00 и так далее. Он не должен быть вне этого. Например, 20: 45 или 05: 53 неприемлемы. Есть ли возможность ограничить такой элемент управления этими выровненными значениями?

Что я уже пробовал:

это неприменимо. это не жучок. это функция, которая мне нужна.

1 Ответов

Рейтинг:
8

Richard MacCutchan

См. раздел Примечания по адресу Класс DateTimePicker (System.Окна.Формы)[^].

[редактировать]
Установите свойства в соответствии с замечаниями в приведенной выше ссылке, чтобы показать простой контроль времени простоя вверх, и добавьте следующий код к ValueChanged обработчик событий:

DateTime dt = dateTimePicker1.Value;
int mins = dt.Minute;
if (mins == 1 || mins == 31)
{
    dt = dt.AddMinutes(29);
    dateTimePicker1.Value = dt;
}

Это увеличит время на 30 минут при каждом нажатии кнопки вверх. Я оставляю вас, чтобы добавить код для кнопки вниз и смены часа.


ilostmyid2

я сделал. но это не включает в себя то, что я спросил. мне нужно, чтобы он вращался вверх и вниз в пределах получаса.

Richard MacCutchan

Смотрите мое обновление выше.

ilostmyid2

спасибо за код. интересно, почему мой код не сработал:

dateTimePicker1.Value.AddMinutes(29);

Richard MacCutchan

dateTimePicker1.Valueэто DateTime объект и AddMinutes возвращает новый DateTime объект. Таким образом, вы должны установить значение вашего DateTimePicker к вновь созданному объекту. Как говорит великий Чарльз Петцольд в одной из своих книг ," никто не говорил, что это должно быть легко", что, возможно, является заявлением Microsoft Vision.

ilostmyid2

о ИК
тнх
есть ли какой-нибудь способ не допускать недопустимых значений, введенных вручную? без использования управления вращением.