-1
我正在開發一個應用程序。我最初想讓用戶只選擇一個星期一。花了相當長的時間後,我發現那不可能,除非我創造我自己的控制。如何在MonthCalendar控件中每個星期一加粗?
因此,我想知道我如何讓星期一的Bold(甚至改變背景顏色),所以它更引人注目?
有沒有一種方法可以通過編程方式選擇一個星期一(同一周),無論一週選擇哪一天?
例如,如果他們點擊2/16,則會自動選擇2/13。
我正在開發一個應用程序。我最初想讓用戶只選擇一個星期一。花了相當長的時間後,我發現那不可能,除非我創造我自己的控制。如何在MonthCalendar控件中每個星期一加粗?
因此,我想知道我如何讓星期一的Bold(甚至改變背景顏色),所以它更引人注目?
有沒有一種方法可以通過編程方式選擇一個星期一(同一周),無論一週選擇哪一天?
例如,如果他們點擊2/16,則會自動選擇2/13。
我已經在datetime picker value changed事件上做了這件事。 似乎工作。希望能幫助到你!
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);
}
很多整潔。
謝謝。我正在使用monthCalendar,並且ValueChanged沒有事件。我會看到相同的事件是什麼。奇怪的是,當你選擇一個日期出現在前一個月的日期時(我選擇了2/3/17和繁榮崩潰) –