自定义winforms日历控件

时间:2014-12-20 17:23:06

标签: c# winforms visual-studio-2013 calendar

在我正在进行的系统中,我需要一个只能选择每个月的周末的日历,其余的都是关闭的..

如何在C#Winforms中执行此操作?

我在互联网和研究论坛上进行了研究,没有发现任何类似的东西,我找到了一些东西,但我无法做我想做的事。

2 个答案:

答案 0 :(得分:0)

Winforms中没有特定控件。最简单的解决方法是使用WPF控件,然后使用Winforms主机进行WPF控制。您可以在此处找到一些详细信息:https://stackoverflow.com/a/27319756/3330348

答案 1 :(得分:0)

欢迎来到stackoverflow,

此选项在当前工具中不可用。您可以通过从标准的DateTimePicker继承自定义DateTimePicker来进行自定义控件。我从来没有这样做,但是this might get you started.或者你可以do something with this article.

如果您不想进入自定义控件,这会让您花费大量时间,您可以这样做:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e) {

  var dtp = sender as DateTimePicker;

  var selectedDate = dtp.Value;

  if (!(selectedDate.DayOfWeek == DayOfWeek.Saturday || selectedDate.DayOfWeek == DayOfWeek.Sunday))
  {

    var offset = (int)DayOfWeek.Saturday - (int)selectedDate.DayOfWeek;

    var saturday = selectedDate + TimeSpan.FromDays(offset);

    dtp.Value = saturday;

    label1.Text = "only saturday or sunday please";

  }

}

并向用户提示标签消息,告诉他已更改。