我正在制作每月日历,但我需要将其设置为某一年。我正在使用Visual Studios 2013并在C#中编码。我试过的代码是
monthCalendar1.SelectionStart.ToShortDateString(2013 - 06 - 04);
我的问题是我找不到将日期设置为加载时我想要的日期的代码。我想让它启动并将日期设置为2013年4月6日。
答案 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);