Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 9
1

Combobox and Items!

23.07.2016, 21:10. Показов 1021. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я хочу сделать combobox (-ы) с выбором даты рождения. В combobox с днями я добавил коллекцию из чисел от 1-31
Combobox and Items!
. В combobox с месяцами добавил коллекцию с месяцами от Января - Декабря. Вопрос: Как сделать так, что бы при выборе на Февраль в количестве дней было максимум 28, а при выборе Января снова становилось 31 день. Я хотел как то так сделать
Combobox and Items!
, но не знаю как поменять combobox с днями.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2016, 21:10
Ответы с готовыми решениями:

Как заполнить Items ComboBox'a из Items другого ComboBox'a
Есть комбобокс на главной форме и комбобокс на Form2. Необходимо заполнить айтемс комбобокса на...

Items в ComboBox
Есть 3 ComboBox`а и в каждом из них по 3 одинаковых значения, подскажите, как сделать так, чтобы...

Tooltip на items'ax combobox
Товарисчи, ситуевина такая: есть комбобокс в который данные добавлены из бд access. И мне надо,...

Видимость items ComboBox
Есть два combobox , как реализовать чтобы при выборе элемента в первом во втором часть элементов...

3
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
23.07.2016, 23:09 2
Цитата Сообщение от Daimand Посмотреть сообщение
что бы при выборе на Февраль в количестве дней было максимум 28
А в этом (2016) году было 29-е февраля. Как быть с високосными годами?
Попробуйте такую конструкцию:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void Form1_Load(object sender, EventArgs e)
{
    int[] years = Enumerable.Range(DateTime.Now.Year-100, 101).OrderByDescending(x=>x).ToArray();
    cbYear.DataSource = years;
    string[] month = { "январь", "февраль", "март", "апрель", "май", "июнь", "июль", "август", "сентябрь", "октябрь", "ноябрь", "декабрь" };
    cbMonth.DataSource = month;
    cbMonth.SelectedIndexChanged += YearOrMonth_Changed;
    cbMonth.SelectedIndex = DateTime.Now.Month - 1;
    cbYear.SelectedIndexChanged += YearOrMonth_Changed;
}
 
void YearOrMonth_Changed(object sender, EventArgs e)
{
    DateTime dt = new DateTime(int.Parse(cbYear.SelectedItem.ToString()), cbMonth.SelectedIndex + 2, 1).AddDays(-1);
    var days = Enumerable.Range(1, dt.Day).ToArray();
    cbDay.DataSource = days;
}
Комбобоксы не заполняйте, просто назовите их cbYear, cbMonth и cbDay.
1
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 9
23.07.2016, 23:40  [ТС] 3
Спасибо! Все работает! Правда сложновато... Придётся "попотеть" что бы понять что к чему.
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
25.07.2016, 09:52 4
Цитата Сообщение от Daimand Посмотреть сообщение
Правда сложновато
Идея проста: при выборе месяца и/или года обновляйте количество дней.
Код обновления можно немного упростить:
C#
1
2
3
4
5
int year = Convert.ToInt32(Year.SelectedItem);
int month = Month.SelectedIndex + 1;
 
int daysInMonth = DateTime.DaysInMonth(year, month);
Day.DataSource = Enumerable.Range(1, daysInMonth).ToArray();
1
25.07.2016, 09:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.07.2016, 09:52
Помогаю со студенческими работами здесь

Combobox.items заменить коллекцию
Как программно нужно объявить и заполнить новую коллекцию, что бы потом присвоить её combobox'у ?

Изменение Items пользователем для ComboBox
Хочу сделать кнопку типо настроек, чтобы пользователь мог изменять значения Items которые находятся...

Заполнение ComboBox.Items при клике
Какое событие использовать у ComboBox в режиме DropDown, чтобы сформировать элементы в выпадающем...

Не получается связать текстовый файл со свойством comboBox.Items
Всем привет! Помогите мне с comboBox, не получается связать текстовый файл со свойством Items....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru