簡體   English   中英

如何在DateTimePicker winforms c#中啟用/禁用特定日期

[英]how to enable/disable specific dates in DateTimePicker winforms c#

我正在為診所編程一個C# Windows應用程序,例如,我為每個醫生存儲了幾天的工作

Dr.John 每周一和周二工作,我如何在DateTimePicker為僅匹配特定日期的日期啟用日期並禁用其他日期。

我不知道有哪些方法和功能可以幫助

而不是DateTimePicker你可以

  • 即時創建表單
  • 添加一個MonthCalendar到它
  • 將有效或無效的日期添加到BoldDates集合
  • 編寫DateChanged事件
  • 測試以查看是否選擇了有效日期
  • 將其添加到所選日期列表中

詳細信息取決於您想要的內容:單個日期或范圍等。

確保修剪時間部分,像這樣添加日期:

List<DateTime> bold = new List<DateTime>();
for (int i = 0; i < 3; i++)
    bold.Add(DateTime.Now.AddDays(i*3).Date);

monthCalendar1.BoldedDates = bold.ToArray();

要僅選擇有效日期,代碼如下:

List<DateTime> selected = new List<DateTime>();

private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
    for   (DateTime dt = monthCalendar1.SelectionStart.Date; 
                    dt.Date <= monthCalendar1.SelectionEnd.Date; 
                    dt = dt.AddDays(1))
    {
        if (!monthCalendar1.BoldedDates.Contains(dt)
        && !selected.Contains(dt)) selected.Add(dt.Date);
    }
}

不幸的是,設置任何樣式的選項僅限於加粗日期。 似乎不可能有顏色或其他視覺線索。

因此,對於任何非常好的事情,您都必須自己構建一個日期選擇器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM