如何在 C# 中使用 MonthCalendar 计算天数?
How do I calculate the number of days using MonthCalendar in C#?
我已经添加了日历表格,但它不允许我 select 2 个日期。它将每次点击分配给开始日期,所以当我尝试这个时,它总是告诉我差异是 1,并且开始日期总是更改为我的下一次点击是什么?
是否可以将开始日期默认为今天的日期,然后每隔一次点击确定结束日期?当我尝试在 datechanged
事件处理程序中分配今天的日期时,它不会让我更改月份,因为它一直关注 startdate
?
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
numDays = Convert.ToInt32((monthCalendar1.SelectionEnd - monthCalendar1.SelectionStart).TotalDays);
MessageBox.Show("num " + numDays);
}
// Sets the Month Calenders Min & Max to days in current month.
DateTime dt = DateTime.Today;
DateTime firstDay = new DateTime(dt.Year, dt.Month, 1, 0, 0, 0);
DateTime lastDay = new DateTime(dt.Year, dt.Month, DateTime.DaysInMonth(dt.Year, dt.Month));
dateMonthCalender.MinDate = firstDay;
dateMonthCalender.MaxDate = lastDay;
以上将最小值和最大值设置为当月的天数
如果您想将最小值设置为今天
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);
}
我已经添加了日历表格,但它不允许我 select 2 个日期。它将每次点击分配给开始日期,所以当我尝试这个时,它总是告诉我差异是 1,并且开始日期总是更改为我的下一次点击是什么?
是否可以将开始日期默认为今天的日期,然后每隔一次点击确定结束日期?当我尝试在 datechanged
事件处理程序中分配今天的日期时,它不会让我更改月份,因为它一直关注 startdate
?
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
numDays = Convert.ToInt32((monthCalendar1.SelectionEnd - monthCalendar1.SelectionStart).TotalDays);
MessageBox.Show("num " + numDays);
}
// Sets the Month Calenders Min & Max to days in current month.
DateTime dt = DateTime.Today;
DateTime firstDay = new DateTime(dt.Year, dt.Month, 1, 0, 0, 0);
DateTime lastDay = new DateTime(dt.Year, dt.Month, DateTime.DaysInMonth(dt.Year, dt.Month));
dateMonthCalender.MinDate = firstDay;
dateMonthCalender.MaxDate = lastDay;
以上将最小值和最大值设置为当月的天数
如果您想将最小值设置为今天
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);
}