每月和每天填充

Sun*_*der 0 c#

我正在填写一个带有月份名称的组合框如下:`

        var engCulture = new CultureInfo("en-US");            
        cmbAmCul.Items.AddRange(engCulture.DateTimeFormat.MonthNames);
Run Code Online (Sandbox Code Playgroud)

什么是正确的方法:

  1. 消除12个月名称后的空白条目.
  2. 根据选定的月份,在一天(1-31 || 1-28 || 1-30)填充另一个组合框?

Ric*_*ard 8

对于第一部分,您可以使用linq查询...

var engCulture = new CultureInfo("en-US");            
cmbAmCul.Items.AddRange(from m in engCulture.DateTimeFormat.MonthNames 
                        where !String.IsNullOrEmpty(m) 
                        select m);
Run Code Online (Sandbox Code Playgroud)

DateTimeInfo类支持13个月的日历,这就是发生这种情况的原因.

对于第二部分,我会去寻找......

for (int i = 1; i <= DateTime.DaysInMonth(year, month); i++) {
    cmbDay.Items.Add(i.ToString());
}
Run Code Online (Sandbox Code Playgroud)

显然,从您选择的值填充年/月变量.