一.返回指定日期前后的某一日期;

// Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      DateTime myDT = new DateTime( 2002, 4, 3, new GregorianCalendar() );

// Uses the default calendar of the InvariantCulture.
      Calendar myCal = CultureInfo.InvariantCulture.Calendar;

// Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar:" );
      DisplayValues( myCal, myDT );

// Adds 5 to every component of the DateTime.
      myDT = myCal.AddYears( myDT, 5 );
      myDT = myCal.AddMonths( myDT, 5 );
      myDT = myCal.AddWeeks( myDT, 5 );
      myDT = myCal.AddDays( myDT, 5 );
      myDT = myCal.AddHours( myDT, 5 );
      myDT = myCal.AddMinutes( myDT, 5 );
      myDT = myCal.AddSeconds( myDT, 5 );
      myDT = myCal.AddMilliseconds( myDT, 5 );

// Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      DateTime myDT = new DateTime( 2002, 4, 3, new GregorianCalendar() );

// Uses the default calendar of the InvariantCulture.
      Calendar myCal = CultureInfo.InvariantCulture.Calendar;

// Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar:" );
      DisplayValues( myCal, myDT );

// Adds 5 to every component of the DateTime.
      myDT = myCal.AddYears( myDT, 5 );
      myDT = myCal.AddMonths( myDT, 5 );
      myDT = myCal.AddWeeks( myDT, 5 );
      myDT = myCal.AddDays( myDT, 5 );
      myDT = myCal.AddHours( myDT, 5 );
      myDT = myCal.AddMinutes( myDT, 5 );
      myDT = myCal.AddSeconds( myDT, 5 );
      myDT = myCal.AddMilliseconds( myDT, 5 );

二.在 Calendar Web 服务器控件中自定义个别日

默认情况下,Calendar 控件中的日只显示为数字。(如果启用日选定,则数字将显示为链接。有关详细信息,请参见在 Calendar Web 服务器控件中控制用户日期选定。)但是,您可以自定义单个日的内容和外观,如下所示:

  • 以编程方式突出显示某些日。例如,以不同的颜色显示假日。
  • 以编程方式指定是否可以选定个别日。
  • 向日显示中添加信息,例如约会或事件信息。

当 Calendar 控件正在创建要发送到浏览器的输出时,它将引发一个您可以处理的 DayRender 事件。控件在准备要显示的日时将为每个日调用您的方法,然后您可采用编程的方式检查正显示的是哪个日期,并对其进行适当的自定义。

DayRender 事件的方法带有两个参数,包括引发事件的控件(Calendar 控件)的引用和一个 DayRenderEvent类型的对象。DayRenderEvent 对象提供对另外两个对象的访问:

  • Cell,它是一个 TableCell 对象,可用于设置个别日的外观。
  • Day,可用于查询关于呈现日的信息,控制是否可选定该日,以及将内容添加到日中。Day 对象支持各种可用于了解有关日的信息的属性(例如,IsSelectedIsToday 等)。它还支持 Controls 集合,可操作该集合以将内容添加到日中。

自定义个别日的外观

  1. 为 Calendar 控件的 DayRender 事件创建一个方法。该事件应该具有以下签名:

    ' Visual Basic
    Private Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar1.DayRender
    ' Additional code here
    End Sub// C#
    private void Calendar1_DayRender (object sender, System.Web.UI.WebControls.DayRenderEventArgs e)
    {// Additional code here
    }
  2. 在该方法中,设置通过 DayRenderEvent 参数可用的 Cell 对象的属性,如下例所示:
    ' Visual BasicIf (e.Day.IsToday) Thene.Cell.BackColor = System.Drawing.Color.RedEnd If// C#if (e.Day.IsToday){e.Cell.BackColor = System.Drawing.Color.Red;}

下例显示一个简单但完整的方法,该方法阐释了如何更改个别日的外观。该方法使日历中的节假日呈现为黄色,而周末呈现为绿色。

' Visual Basic
Public Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar1.DayRender' Display vacation dates in yellow boxes with purple borders.Dim vacationStyle As New Style()With vacationStyle.BackColor = System.Drawing.Color.Yellow.BorderColor = System.Drawing.Color.Purple.BorderWidth = New Unit(3)End With' Display weekend dates in green boxes.Dim weekendStyle As New Style()weekendStyle.BackColor = System.Drawing.Color.Green' Vacation is from Nov 23, 2000 to Nov 30, 2000.If ((e.Day.Date >= New Date(2000, 11, 23)) _And (e.Day.Date <= New Date(2000, 11, 30))) Thene.Cell.ApplyStyle(vacationStyle)ElseIf (e.Day.IsWeekend) Thene.Cell.ApplyStyle(weekendStyle)End If
End Sub// C#
private void Calendar1_DayRender (object sender, System.Web.UI.WebControls.DayRenderEventArgs e)
{// Display vacation dates in yellow boxes with purple borders.Style vacationStyle = new Style();vacationStyle.BackColor = System.Drawing.Color.Yellow;vacationStyle.BorderColor = System.Drawing.Color.Purple;vacationStyle.BorderWidth = 3;// Display weekend dates in green boxes.Style weekendStyle = new Style();weekendStyle.BackColor = System.Drawing.Color.Green;if ((e.Day.Date >= new DateTime(2000,11,23)) &&(e.Day.Date <= new DateTime(2000,11,30))){// Apply the vacation style to the vacation dates.e.Cell.ApplyStyle(vacationStyle);}else if (e.Day.IsWeekend){// Apply the weekend style to the weekend dates.e.Cell.ApplyStyle(weekendStyle);}
}   

vs2010中Calendar控件的一些使用相关推荐

  1. 在VS2010中ActiveX控件注册方法,使用regsvr32命令

    上一篇小编展示了如何设置VS2010自带的ActiveX控件的容器测试程序,现在为大家演示一下如何注册ActiveX控件. 首先简单了解一下ActiveX控件的知识,ActiveX控件:简单来说,就是 ...

  2. VS2010向工具箱中添加控件解决 Microsoft Communications Control,未能实例化 设计时授权

    第一步是Visual Studio 2010中添加注册控件的方法 在VC6.0中添加ADO Data Control等控件是很很方便的,"Project" --> " ...

  3. ASP.NET 在vs中使用Calendar控件 制作一个日历 并标注节假日

    Calendar控件 Calendar控件可以说用户方便.准确地选择日期或查看与日期相关的数据.当创建Calendar控件中的每个日期单元格均会引发DayRender事件,通过DayRender事件的 ...

  4. WPF- 关于自定义Calendar控件

    由于项目对更改日期 时间的需要,接触了一下Calendar控件.结果发现在这么强大的控件的背后,微软其实并没有为开发人员留有很强的扩展性. (项目要求的Calendar控件能对一些特定的日期进行特殊处 ...

  5. jqGrid中时间控件input的值赋给点开后的laydate控件

    可以看到上课时间的值是8点-10点 点击时间控件选择时间时,时间控件不会根据已有的时间数据显示默认值,而是显示当前时间? Q:为什么会显示当前时间,怎么解决这个问题? A: 代码如下: getTime ...

  6. VS2008向工具箱中添加控件解决 未能实例化 设计时授权

    VS2010同理 VS2008向工具箱中添加串口控件,步骤为工具--选择工具箱项,在出现的选择工具箱项窗体中选择COM组件勾选Microsoft Communications Control, ver ...

  7. ASP.NET Calendar 控件在中文服务器上显示为英文星期的处理

    同样的一个软件,部署在十几台服务器上,不同的客户来使用,其中一个使用了Calendar控件的页面,在大多数客户的计算机上都显示为中文,但是有个别服务器输出到客户端显示为英文.检查并修改了IE浏览器的语 ...

  8. ExtJS 日历Calendar 控件 使用

    ExtJS6 提供了日历控件,但是官网的demo贼坑,只讲了ajax使用,经过不懈努力地,无头苍蝇式尝试,终于摸到了使用门槛. 首先 在具体项目里,引用calendar的包. 其次 设定好calend ...

  9. asp.net中HTML控件和web控件的简单理解

    前言 在学习视频的时候,讲解者一会儿使用HTML控件,一会儿使用web控件,有一种很迷糊的感觉,他俩到底有什么区别呢,作为一个初学者,有必要分析一下. 概念 HTML控件是客户端控件,响应客户端事件, ...

最新文章

  1. CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3是什么呢?
  2. FileDown.cs(20170223)
  3. Spring中的循环依赖及解决,2021Java精选面试实战总结整理
  4. bootstrap下拉列表与输入框组结合的样式调整
  5. java httpclient 进度条_如何使用Apache HttpClient 4获取文件上传的进度条?
  6. 好消息acesse_真实的acesse爱搜索 黑心传销骗子
  7. 【渝粤题库】陕西师范大学201001 教育管理学(高起本)作业
  8. jQuery的ajaxFileUpload上传文件插件刷新一次才能再次调用触发change
  9. leetcode 111
  10. javascript中字符串常用方法
  11. java获取系统dpi_java中如何获得打印机的dpi
  12. 利用unittest+ddt进行接口测试(二):使用yaml文件管理测试数据
  13. Cesium中的primitive流光轨迹
  14. php 有下划线的方法,编码风格 - PHP类方法中领先的下划线有什么用?
  15. 如何编制试算平衡表_编制试算平衡表
  16. 京东单品页前端开发那些不得不说的事儿
  17. C语言编程联练习 烤烧饼
  18. 计算机主板所采用的cpu接口,主板中的CPU_FAN、SYS_FAN、CPU_OPT、AIO_PUMP是什么接口...
  19. Android---RecyclerView网络请求图片加载
  20. C++小病毒(VS版)

热门文章

  1. NFS与NAS谁更适合VMware
  2. Atitit .h5文件上传 v3
  3. html5移动开发入门知识
  4. [译+改]最长回文子串(Longest Palindromic Substring) Part II
  5. 类加载是为了执行静态方法
  6. Windows 7下面安装VMware、Windows XP
  7. TiDB备份恢复方式你知多少?
  8. Nginx配置IP地址的动态黑名单
  9. 升级Windows10后,远程登录失败,问题:您的凭据不工作(RDP do not work )
  10. CCNA初认识——OSPF(开放式最短路径优先协议)配置命令