B. *_*non 0 .net c# combobox date winforms
我需要让用户选择一个月和一年。通常,他们会想要最后一个月(例如,如果是 2015 年 12 月 18 日,他们通常会选择 2015 年 11 月)。所以我希望这些值是组合框中预先选择的值。
我怎样才能做到这一点(在 C# 中),并且一旦越过卢比孔河(幼发拉底河?)到 2016 年 1 月,它也将是“2015 年 12 月”?
我也希望它不会增加2016,直到它是2016(依此类推,随着岁月的流逝),并开始从预定一年(不0年或1970年或类似的东西,不一定)。
您可以使用DateTimeFormatInfo.MonthNames来查找文化的月份名称。有些文化有 13 个月,因此DateTimeFormat.MonthNames返回一个13 个月的数组。
但是由于您似乎想使用公历,所以您只需要使用 12 个月的名称,而我曾经使用InvariantCulture过月份名称。
您可以使用这样的代码:
monthComboBox.DataSource = CultureInfo.InvariantCulture.DateTimeFormat
.MonthNames.Take(12).ToList();
monthComboBox.SelectedItem = CultureInfo.InvariantCulture.DateTimeFormat
.MonthNames[DateTime.Now.AddMonths(-1).Month - 1];
yearComboBox.DataSource = Enumerable.Range(1983, DateTime.Now.Year - 1983 + 1).ToList();
yearComboBox.SelectedItem = DateTime.Now.Year;
Run Code Online (Sandbox Code Playgroud)
您可以使用CurrentCulture或其他一些您喜欢的文化。
| 归档时间: |
|
| 查看次数: |
5847 次 |
| 最近记录: |