사용자가 구매 날짜를 입력 할 수있는 드롭 다운 콤보 상자가 포함 된 winform이 있습니다.C# : SelectedIndexChange 이벤트 처리기에서 ComboBox 텍스트 값을 설정 하시겠습니까?
콤보 박스의 항목은 '날짜 선택'으로 캘린더를 표시하므로 사용자는 '오늘'과 '지난 주'를 선택할 수 있습니다. 사용자가 '오늘'또는 '지난 주'를 선택하면 해당 날짜 문자열에 드롭 다운 컨트롤의 텍스트 값을 설정하려고합니다. SelectedIndexChanged 처리기에서이 작업을 수행하려고하는데 주사위가 없습니다. 드롭 다운 목록에는 빈 필드 만 표시됩니다.
아이디어가 있으십니까?
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");
}
selectedindexchanged 이벤트에서 코드를 공유 할 수 있습니까? 내가 올바르게 이해한다면, 콤보 상자의 DropDownStyle 속성을 DropDown으로 변경해야하며 콤보 상자에 표시 할 문자열을 제공해야합니다. – reggie
원래 게시물 – Curtis
코드를 편집하여 편집했습니다. ComboBox.SelectedText 속성 대신 ListItem 자체의 텍스트를 변경해 보았습니까? –