У меня есть winform, содержащий выпадающий список DropDown, где пользователь может ввести дату покупки.
Элементами в выпадающем списке являются «выберите дату», которая вызывает календарь, чтобы пользователь мог выбрать дату, «сегодня» и «последнюю неделю». Если пользователь выбирает «сегодня» или «на прошлой неделе», я хочу установить текстовое значение раскрывающегося элемента управления в эту строку даты. Я пытаюсь сделать это в обработчике SelectedIndexChanged, но не игра в кости. Список DropDown просто показывает пустое поле.
Есть идеи?
private void comboBoxPurchased_SelectedIndexChanged(object sender, EventArgs e)
{
Types.ComboInfo info = (Types.ComboInfo)comboBoxPurchased.SelectedItem;
DateTime newDate = stock.PurchaseDate;
switch ((Types.PurchasedDate)info.id)
{
case Types.PurchasedDate.PickCustom:
//popup a date dialog and let the user choose the date
PopupCalendar p = new PopupCalendar();
if (p.ShowDialog() == DialogResult.OK)
// show date in combobox
newDate = p.Date;
break;
case Types.PurchasedDate.Today:
newDate = DateTime.Now;
break;
case Types.PurchasedDate.WithinLastWeek:
newDate = DateTime.Now.AddDays(-7);
break;
case Types.PurchasedDate.WithinLastMonth:
newDate = DateTime.Now.AddMonths(-1);
break;
}
// re-create combobox items with new purchase date
//PopulatePurchaseDateCombo(newDate);
comboBoxPurchased.SelectedText = date.ToString("MMMM d, yyyy");
comboBoxPurchased.Text = date.ToString("MMMM d, yyyy");
}