Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中使用MonthCalendar计算天数?_C#_Winforms_Date Range_Monthcalendar - Fatal编程技术网

C# 如何在C中使用MonthCalendar计算天数?

C# 如何在C中使用MonthCalendar计算天数?,c#,winforms,date-range,monthcalendar,C#,Winforms,Date Range,Monthcalendar,我已经添加了日历表单,它不允许我选择2个日期。它将每次单击都指定为开始日期,因此当我尝试此操作时,它总是告诉我差值为1,并且开始日期总是更改为下一次单击的日期 是否可以将开始日期默认为今天的日期,然后每隔一次单击确定结束日期?当我试图在datechanged事件处理程序中指定今天的日期时,它不允许我更改月份,因为它一直关注startdate 上面将最小值和最大值设置为当月的天数 如果要将最小值设置为今天 dateMonthCalender.MinDate = DateTime.Now; 希望这

我已经添加了日历表单,它不允许我选择2个日期。它将每次单击都指定为开始日期,因此当我尝试此操作时,它总是告诉我差值为1,并且开始日期总是更改为下一次单击的日期

是否可以将开始日期默认为今天的日期,然后每隔一次单击确定结束日期?当我试图在datechanged事件处理程序中指定今天的日期时,它不允许我更改月份,因为它一直关注startdate

上面将最小值和最大值设置为当月的天数

如果要将最小值设置为今天

dateMonthCalender.MinDate = DateTime.Now;

希望这会有所帮助。

好的,声明两个整数,将一个指定给所选的日期,另一个指定给今天,然后创建一个方法

 int selectedDay;
 int todayValue;

DateTime firstDay = new DateTime(dt.Year, dt.Month, 1, 0, 0, 0);

DateTime today = DateTime.Today;
     string todayShort = today.ToShortDateString();
     string thisDay = todayShort.Substring(0, 2);

     todayValue = Convert.ToInt32(thisDay);

private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
  {
     // Shorten date format to day and assign it.
     string dMC = dateMonthCalender.SelectionRange.Start.ToShortDateString();
     string takeDMCDay = dMC.Substring(0, 2);
     selectedDay = Convert.ToInt32(takeDay);

}

请告诉我们更多细节,您的目标是什么,如果您的选择在事件中发生了更改,您可能应该将您的选择传递给一个方法,并在事件之外执行您尝试执行的任何操作。当我输入该代码时,它仍然会将每次单击指定为开始日期:这是因为您在DateChanged事件中的Private void monthCalendar1_DateChangedobject发件人DateRangeEventArgs e{DateTime dt=DateTime.Today;DateTime firstDay=new DateTimedt.Year,dt.Month,1,0,0;DateTime lastDay=new DateTimedt.Year,dt.Month,DateTime.DaysInMonthdt.Year,dt.Month;monthCalendar1.MinDate=firstDay;monthCalendar1.MaxDate=lastDay;numDays=Convert.ToInt32monthCalendar1.SelectionEnd-monthCalendar1.SelectionStart.TotalDays;MessageBox.Showselection+monthCalendar1.SelectionStart;}如何让它将我的点击指定给日期结束日期,以便我的计算可以确定所选日期之间的天数?
dateMonthCalender.MinDate = DateTime.Now;
 int selectedDay;
 int todayValue;

DateTime firstDay = new DateTime(dt.Year, dt.Month, 1, 0, 0, 0);

DateTime today = DateTime.Today;
     string todayShort = today.ToShortDateString();
     string thisDay = todayShort.Substring(0, 2);

     todayValue = Convert.ToInt32(thisDay);

private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
  {
     // Shorten date format to day and assign it.
     string dMC = dateMonthCalender.SelectionRange.Start.ToShortDateString();
     string takeDMCDay = dMC.Substring(0, 2);
     selectedDay = Convert.ToInt32(takeDay);