我正在开发一个应用程序。我最初想让用户只选择星期一。花了相当长的时间后,我发现除非我自己创造控制权,否则这是不可能的。
因此,我想知道如何制作星期一的大胆(甚至改变背景颜色),这样才能更明显?
有没有办法以编程方式选择星期一(同一周),无论本周选择哪一天?
例如,如果他们点击2/16,则会自动选择该2/13。
答案 0 :(得分:1)
我在日期时间选择器值更改事件上完成了此操作。 似乎工作。希望它有所帮助!
private void dtP1_ValueChanged(object sender, EventArgs e)
{
var days = DayOfWeek.Monday - dtP1.Value.DayOfWeek;
if (dtP1.Value.DayOfWeek != DayOfWeek.Monday)
{
dtP1.Value = new DateTime(dtP1.Value.Year, dtP1.Value.Month, dtP1.Value.Day + days);
}
}
我已经设法为它编写和扩展方法。
public static class DateTimeHelper
{
public static void AlwaysChooseMonday(this DateTimePicker dtp, DateTime value)
{
var days = DayOfWeek.Monday - dtp.Value.DayOfWeek;
if (dtp.Value.DayOfWeek != DayOfWeek.Monday)
{
dtp.Value = new DateTime(dtp.Value.Year, dtp.Value.Month, dtp.Value.Day + days);
}
}
}
然后值变为事件变为
private void dtp1(object sender, EventArgs e)
{
dtP1.AlwaysChooseMonday(dtP1.Value);
}
很多整洁。