根据comboBox限制comboBox(日)选择(月)

时间:2017-03-16 22:10:50

标签: c# arrays loops visual-studio-2013 combobox

我目前正在为作业创建一个程序,该程序需要使用包含日,月和年的3个组合框,然后使用按钮告诉用户该用户有多少天。我需要根据可能的日期限制用户输入,并想知道C#是否具有内置功能来管理这个,所以例如2月30日是不可能的。

这是我的第二个程序,我对C#中使用的语法知之甚少,我目前的数组/循环代码就是这样,以防万一。

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);
}

我不知道如何将按钮重新组合成日期格式我可以用它来计算日期,我很欣赏任何关于这样做的建议,计算本身我是&#39;我试着锻炼一下。

2 个答案:

答案 0 :(得分:0)

function append_id_string( $link, $post ) { $post_meta = $post->ID; if ( 'product' == get_post_type( $post ) ) { $link = $link . '#' .$post_meta; return $link; } } add_filter( 'post_type_link', 'append_id_string', 1, 2 ); 结构有很多有用的功能。这将为您提供一个月的天数。

DateTime

您可以像这样创建一个年,月,日的新日期:

int days = DateTime.DaysInMonth(year, month);

您还可以使用以下命令获取月份名称:

var date = new DateTime(year, month, day);

您可以将数组分配给组合框的string[] monthNames = System.Globalization.DateTimeFormatInfo.CurrentInfo.MonthNames; comboBoxMonth.DataSource = monthNames; 属性,而不是逐个添加元素。

答案 1 :(得分:0)

您可以使用DateTime.DaysInMonth功能:

  int NumberOfDays = DateTime.DaysInMonth(2017, 3);

For More Information