月份日历C#

时间:2014-03-28 22:38:30

标签: c# calendar

我正在制作每月日历,但我需要将其设置为某一年。我正在使用Visual Studios 2013并在C#中编码。我试过的代码是

monthCalendar1.SelectionStart.ToShortDateString(2013 - 06 - 04);

我的问题是我找不到将日期设置为加载时我想要的日期的代码。我想让它启动并将日期设置为2013年4月6日。

2 个答案:

答案 0 :(得分:1)

嗯,您的代码示例 - 甚至可以编译吗? - 不会按照您的想法执行操作。表达式2013 - 06 - 04整数表达式,其计算结果为整数值2003(2013年减去6表示2007年; 2007年减去4表示2003年)。

假设您使用的是System.Windows.Forms.MonthCalendar,则属性SelectionStart的值为DateTime。您的代码正在尝试获取该属性的当前值,并使用当前文化的短日期格式(M / d / yyyy为'en-US')将其转换为字符串。然后你扔掉了那根绳子。并且ToShortDateString()不接受任何参数,所以你几乎肯定会得到一个编译器抱怨。

如果您尝试设置选择开始,您可以尝试以下方式:

monthCalendar1.SelectionStart = new DateTime(2013,4,6) ; // 6 April, 2013

然后,您可以将选择结束设置为适当的结果。例如:

monthCalendar1.SelectionEnd = monthCalendar.SelectionStart.AddDays(7) ;

答案 1 :(得分:0)

来自MSDN

设置日期范围:

this.MonthCalendar1.SelectionStart = 
        new System.DateTime(DateTime.Today.Year, vacationMonth, today.Day-1);
this.MonthCalendar1.SelectionEnd = 
        new System.DateTime(DateTime.Today.Year, vacationMonth, today.Day+6);

设置默认日期:

this.MonthCalendar1.TodayDate = new System.DateTime(Year, Month, Day);