首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# WinForms 將日期區間生成下拉框選項的標準實現代碼

     編輯:程式設計疑難解答

核心代碼

DateTime start = new DateTime(2016, 4, 1);
DateTime end = new DateTime(2016, 4, 7);

for (DateTime dt = start; dt <= end; dt = dt.AddDays(1)) {
    comboBox1.Items.Add(dt.ToString("yyyy-MM-dd"));
}

關鍵點

  • DateTime.AddDays(1) 正確處理月份/年份跨越(如 1 月 31 日 +1 天 = 2 月 1 日)。
  • ToString("yyyy-MM-dd") 格式化輸出,避免時間部分干擾。
  • 直接添加到 ComboBox.Items,無需數據源綁定。

增強版:可配置間隔與格式

public void FillDateRange(ComboBox cb, DateTime start, DateTime end, string format = "yyyy-MM-dd", int stepDays = 1) {
    cb.Items.Clear();
    for (DateTime dt = start; dt <= end; dt = dt.AddDays(stepDays)) {
        cb.Items.Add(dt.ToString(format));
    }
    if (cb.Items.Count > 0) cb.SelectedIndex = 0;
}

// 調用:每週一項
FillDateRange(comboBox1, new DateTime(2016,4,1), new DateTime(2016,4,30), "yyyy-MM-dd", 7);

注意

若日期範圍極大(如 10 年),Items 集合會變大影響性能,建議改用虛擬模式或分頁加載。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved