antdui-demo/Views/DatePickerRangeDemo.cs
2024-08-26 17:32:03 +08:00

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