如何在C#中获取MonthCalendar控件的选定日期
如何在C#中获取MonthCalendar控件的选定日期(窗体forms)
“只需将MaxSelectionCount
设置为1,这样用户就不能选择超过一天。然后在SelectionRange.Start.ToString()
。没有任何东西可以显示只有一天的选择。” – Justin Etheredge
从这里开始 。
我刚注意到,如果你这样做:
monthCalendar1.SelectionRange.Start.ToShortDateString()
您将只从MonthCalendar
控件获得日期(例如,1/25/ 1/25/2014
)。
它与:相反:
monthCalendar1.SelectionRange.Start.ToString() //The OUTPUT will be (eg 1/25/2014 12:00:00 AM)
因为这些MonthCalendar
属性的类型为DateTime 。 请参阅msdn和可用于转换为String表示的方法。 此外, 这可能有助于在适用的情况下从String转换为DateTime对象。
对于那些仍在尝试的人来说,这个链接也帮助了我; 它只是把它们放在一起:
http://dotnetslackers.com/VB_NET/re-36138_How_To_Get_Selected_Date_from_MonthCalendar_control.aspx
private void MonthCalendar1_DateChanged(object sender, System.Windows.Forms.DateRangeEventArgs e) { //Display the dates for selected range Label1.Text = "Dates Selected from :" + (MonthCalendar1.SelectionRange.Start() + " to " + MonthCalendar1.SelectionRange.End); //To display single selected of date //MonthCalendar1.MaxSelectionCount = 1; //To display single selected of date use MonthCalendar1.SelectionRange.Start/ MonthCalendarSelectionRange.End Label2.Text = "Date Selected :" + MonthCalendar1.SelectionRange.Start; }
使用SelectionRange
您将获得Start
和End
日期。
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e) { var startDate = monthCalendar1.SelectionRange.Start.ToString("dd MMM yyyy"); var endDate = monthCalendar1.SelectionRange.End.ToString("dd MMM yyyy"); }
如果要更新可以选择的最大天数,请设置MaxSelectionCount
属性。 默认值为7。
// Only allow 21 days to be selected at the same time. monthCalendar1.MaxSelectionCount = 21;
SelectionRange属性