我正在制作一个程序,帮助人们用 C# 为一个部门“预订”订单。他们需要能够选择不同月份的多个日期。
我更愿意拥有它,这样他们就可以单击一个日期,然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期,并控制单击以进行单选/取消选择。他们必须能够在月份之间移动,同时仍然保留他们在上个月点击的所有日期,这样他们就可以概览他们选择的日期以使其更容易。
最好的方法是什么?我应该使用 Visual Studio 的默认月历还是存在更灵活的月历?
最佳答案
您可以通过检测对日期的点击,然后在加粗日期中添加或删除点击日期来使其工作。实现 MonthCalendar 的 MouseDown 事件:
private void monthCalendar1_MouseDown(object sender, MouseEventArgs e) {
MonthCalendar.HitTestInfo info = monthCalendar1.HitTest(e.Location);
if (info.HitArea == MonthCalendar.HitArea.Date) {
if (monthCalendar1.BoldedDates.Contains(info.Time))
monthCalendar1.RemoveBoldedDate(info.Time);
else
monthCalendar1.AddBoldedDate(info.Time);
monthCalendar1.UpdateBoldedDates();
}
}
这只是一个问题,它像便宜的汽车旅馆一样闪烁。没有解决办法。
关于C#和月历,选择多个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1738824/