73 lines
2.8 KiB
C#
73 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace AntdUIDemo.Views
|
|
{
|
|
public partial class DatePickerRangeDemo : UserControl
|
|
{
|
|
public DatePickerRangeDemo()
|
|
{
|
|
InitializeComponent();
|
|
// 绑定事件
|
|
BindEventHandler();
|
|
}
|
|
|
|
private void BindEventHandler()
|
|
{
|
|
datePickerRange.PresetsClickChanged += DatePickerRange_PresetsClickChanged;
|
|
}
|
|
|
|
private void DatePickerRange_PresetsClickChanged(object sender, object value)
|
|
{
|
|
DateTime today = DateTime.Today;
|
|
string str = value.ToString();
|
|
switch (str)
|
|
{
|
|
case "本周":
|
|
int daysToMonday = (int)today.DayOfWeek - (int)DayOfWeek.Monday;
|
|
if (daysToMonday < 0)
|
|
daysToMonday += 7;
|
|
DateTime startOfWeek = today.AddDays(-daysToMonday);
|
|
DateTime endOfWeek = startOfWeek.AddDays(6);
|
|
datePickerRange.Value = new DateTime[] { startOfWeek, endOfWeek };
|
|
break;
|
|
case "上周":
|
|
daysToMonday = (int)today.DayOfWeek - (int)DayOfWeek.Monday;
|
|
if (daysToMonday < 0)
|
|
daysToMonday += 7;
|
|
startOfWeek = today.AddDays(-daysToMonday - 7);
|
|
endOfWeek = startOfWeek.AddDays(6);
|
|
datePickerRange.Value = new DateTime[] { startOfWeek, endOfWeek };
|
|
break;
|
|
case "本月":
|
|
startOfWeek = new DateTime(today.Year, today.Month, 1);
|
|
endOfWeek = startOfWeek.AddMonths(1).AddDays(-1);
|
|
datePickerRange.Value = new DateTime[] { startOfWeek, endOfWeek };
|
|
break;
|
|
case "上月":
|
|
startOfWeek = new DateTime(today.Year, today.Month, 1);
|
|
endOfWeek = startOfWeek.AddMonths(1).AddDays(-1);
|
|
datePickerRange.Value = new DateTime[] { startOfWeek, endOfWeek };
|
|
break;
|
|
case "本年":
|
|
startOfWeek = new DateTime(today.Year, 1, 1);
|
|
endOfWeek = startOfWeek.AddYears(1).AddDays(-1);
|
|
datePickerRange.Value = new DateTime[] { startOfWeek, endOfWeek };
|
|
break;
|
|
case "去年":
|
|
startOfWeek = new DateTime(today.Year - 1, 1, 1);
|
|
endOfWeek = startOfWeek.AddYears(1).AddDays(-1);
|
|
datePickerRange.Value = new DateTime[] { startOfWeek, endOfWeek };
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|