2014-03-28 18 views
-4

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

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

我的问题是,我无法找到的代码,将日期设定为在加载时我想要什么。我想使它启动,并有日期为4月,06,2013年

+4

任何意外的行为/问题/错误? – helb

+3

请澄清你的问题。 – Dmitry

+2

你究竟想要做什么?您是否阅读过[ToShortDateString']文档(http://msdn.microsoft.com/zh-cn/library/system.datetime.toshortdatestring.aspx)以查看它的作用? –

回答

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

设置默认日期:

​​
+2

只需要复制和粘贴一些代码就不会帮助OP了解他们在解决这个问题时做了什么错误,即使现在通过提供现成的解决方案“帮助”,也不会帮助OP类似的情况,也不会帮助任何未来的访问者有类似但不是相同的问题。 –

1

那么,你的代码示例— 它甚至编译? —不会做你认为它做的事。表达式2013 - 06 - 04整数表达式,其评估为整数值2003(2013减去6是2007; 2007减去4是2003)。

假设您使用的是System.Windows.Forms.MonthCalendar,则属性SelectionStartDateTime的值。你的代码试图采用该属性的当前值,并使用当前文化的短日期格式('en-US'为M/d/yyyy)将其转换为字符串。然后你扔掉那条绳子。而ToShortDateString()没有任何参数,所以你几乎肯定会得到一个编译器的抱怨。

如果你想设置选择开始,你可以尝试沿着线的东西:

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

然后你可以设置选择结束点适当的东西。例如:

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