chaitanya556 Ответов: 2

Измените только значение месяца в палитре datetime при нажатии кнопки


Привет, у меня было приложение, в котором будет 12 кнопок, каждая из которых будет называться месяцами года. когда я нажимаю на определенную кнопку, например ноябрь, значение месяца (dd-MM-yyy) MM value в datetimepicker должно измениться. как я могу этого достичь ?
пожалуйста, предложите какой-нибудь код. Мне нужно менять только месяц. не день или год. только месяц в datetimepicker.

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

ДТП.Дата.Ценность.Месяц=Конвертация.ToInt32(Btn_Nov.Text);

2 Ответов

Рейтинг:
2

Richard Deeming

DateTime value = Dtp.Date.Value;
Dtp.Date.Value = new DateTime(value.Year, theNewMonth, value.Day);


Рейтинг:
0

#realJSOP

Если кнопки имеют названия месяцев, а не номера месяцев, то самый простой способ-сделать это с помощью перечисления:

// example, if Btn_Nov.Text is "Nov", the following code would result in 11.
public enum Months { Jan = 1, Feb, Mar, Apr, May...,Nov,Dec};
Dtp.Date.Value.Month = (int)((Months)Enum.Parse(typeof(Months), Btn_Nov.Text, false));


Конечно, ваши перечисления должны соответствовать тому, что говорит текст кнопки (передача false в Enum.Parse делает поиск нечувствительным к регистру).