Программирование выпадающих списков - C#
Формулировка задачи:
Добрый день!
На форме три выпадающих списка: день, месяц, год.
Изменение любого из списков меняет содержимое остальных списков. Например, в феврале максимальное количество дней 28 или 29 в високосный год. В некоторых месяцах 31 день, а в других - 30.
Решение задачи: «Программирование выпадающих списков»
textual
Листинг программы
using System; using System.Windows.Forms; namespace WinForms { public partial class FormMain : Form { public FormMain() { InitializeComponent(); DateTime dtNow = DateTime.Now; SetDayOfMonth(dtNow); InintializeMonth(); SetMonth(dtNow); comboBoxMonth.SelectedIndexChanged += new EventHandler(comboBoxMonth_SelectedIndexChanged); } void comboBoxMonth_SelectedIndexChanged(object sender, EventArgs e) { DateTime dtNow = DateTime.Now; int daysInMonth = DateTime.DaysInMonth(dtNow.Year, comboBoxMonth.SelectedIndex + 1); int selectedDay = dtNow.Day < daysInMonth ? dtNow.Day : daysInMonth; SetDayOfMonth(new DateTime(dtNow.Year, comboBoxMonth.SelectedIndex + 1, selectedDay)); } private void SetDayOfMonth(DateTime dateTime) { int quantityDays = DateTime.DaysInMonth(dateTime.Year, dateTime.Month); int offset = 1; int quantityIterations = quantityDays + offset; comboBoxDay.Items.Clear(); for (int i = offset; i < quantityIterations; i++) comboBoxDay.Items.Add(i < 10 ? "0" + i.ToString() : i.ToString()); comboBoxDay.SelectedIndex = dateTime.Day - offset; } public void InintializeMonth() { string[] monthes = { "january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december" }; for (int i = 0; i < monthes.Length; i++) comboBoxMonth.Items.Add(monthes[i]); } public void SetMonth(DateTime dateTime) { comboBoxMonth.SelectedIndex = dateTime.Month - 1; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д