首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于comboBox (月)限制comboBox (日)选择

基于comboBox (月)限制comboBox (日)选择
EN

Stack Overflow用户
提问于 2017-03-16 22:10:50
回答 2查看 126关注 0票数 0

我目前正在为一个作业创建一个程序,它需要使用包含日、月和年的3 ComboBoxes,然后使用一个按钮告诉用户用户的年龄是多少天。我需要根据可能的日期限制用户的进入,并且想知道C#是否有一个内置的函数来管理这一点,例如2月30日是不可能的。

这是我的第二个程序,我对C#中使用的语法知之甚少,如果需要的话,数组/循环的当前代码是这样的。

代码语言:javascript
复制
string[] monthsArray = { "January", "February", "March", "April", "June", "July", "August",
                         "September", "October", "November", "December" };
for (int index = 0; index < monthsArray.Length; index++)
{
    comboBoxMonth.Items.Add(monthsArray[index]);
}

for (int i = 1917; i <= DateTime.Now.Year; i++)
{
    comboBoxYear.Items.Add(i);
}

for (int i = 1; i <= 31; i++)
{
    comboBoxDay.Items.Add(i);
}

我不知道如何让按钮把它重新组合成一个日期格式,然后我可以用它来计算天龄,我很想知道如何这样做,计算本身,我会尝试计算出来。

EN

回答 2

Stack Overflow用户

发布于 2017-03-16 22:23:11

DateTime结构有很多有用的特性。这将给你一个月的天数。

代码语言:javascript
复制
int days = DateTime.DaysInMonth(year, month);

您可以创建一个新的日期,从年份,月和日如下:

代码语言:javascript
复制
var date = new DateTime(year, month, day);

您还可以通过以下方式获取月份名称:

代码语言:javascript
复制
string[] monthNames = System.Globalization.DateTimeFormatInfo.CurrentInfo.MonthNames;
comboBoxMonth.DataSource = monthNames;

您可以将数组分配给组合框的DataSource属性,而不是一个一个地添加元素。

票数 0
EN

Stack Overflow用户

发布于 2017-03-16 22:24:08

您可以使用DateTime.DaysInMonth函数:

代码语言:javascript
复制
  int NumberOfDays = DateTime.DaysInMonth(2017, 3);

欲了解更多信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42845697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档