找回密码
 立即注册

QQ登录

只需一步,快速开始

zhangzm1117

初级会员

4

主题

9

帖子

461

积分

初级会员

积分
461

活字格认证

最新发帖
zhangzm1117
初级会员   /  发表于:2013-2-25 10:41  /   查看:7546  /  回复:7
Calender控件中提供了关于周末的前景色设置,这样的话周六和周日就用同一中颜色了
我想设定每个月周六和周日不同的前景色,请各位高手支招,谢谢。

7 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-25 10:55:00
沙发
zhangzm1117 你好

请问使用的 Calender 控件是哪个平台的产品呢,ComponentOne for WinForms、ComponentOne for ASP.NET、ComponentOne for Silverlight或者其它平台?
回复 使用道具 举报
zhangzm1117
初级会员   /  发表于:2013-2-25 11:43:00
板凳
回复 2楼dof的帖子

ComponentOne for WinForms
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-25 12:20:00
地板
zhangzm1117 你好

我会将该帖子转移到【ComponentOne】产品专区进行处理。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-2-25 14:50:00
5#
回复 3楼zhangzm1117的帖子

zhangzm1117 你好,
可以通过 c1Calendar1_BeforeDayFormat 事件设置,先判断是否为周六或周日,在通过以下代码设置:
  1. private void c1Calendar1_BeforeDayFormat(object sender, C1.Win.C1Schedule.BeforeDayFormatEventArgs e)
  2.         {
  3.             if (e.Date.CompareTo(new DateTime(2013, 02, 25)) == 0)
  4.             {
  5.                 e.Style.ForeColor = System.Drawing.Color.Red;
  6.             }
  7.         }
复制代码
回复 使用道具 举报
zhangzm1117
初级会员   /  发表于:2013-2-25 15:27:00
6#
回复 5楼iceman的帖子

我用的的下面的代码

  1.   private void c1Calendar1_BeforeDayFormat(object sender, C1.Win.C1Schedule.BeforeDayFormatEventArgs e)
  2.         {
  3.             if (e.Date.DayOfWeek.Equals(DayOfWeek.Saturday))
  4.             {
  5.                 e.Style.ForeColor = Color.Blue;
  6.             }
  7.         }
复制代码


但是此时控件上  上个月的最后几天的周六和下一个月最初几天的周六也被变色了
我想知道 控件当前显示的月份信息如何取得,比如说当我点击了下一个月按钮或者上一个月按钮后
日历上显示的当前月份如何取得?我没有找到对应的属性,请大侠告知,谢谢
回复 使用道具 举报
zhangzm1117
初级会员   /  发表于:2013-2-25 16:35:00
7#
我转化了一下思路实现了
在此说一下 首先设定属性周末的前景色为红色
然后追加一下代码
  1. private void c1Calendar1_BeforeDayFormat(object sender, C1.Win.C1Schedule.BeforeDayFormatEventArgs e)
  2.         {           
  3.             if (e.Date.DayOfWeek.Equals(DayOfWeek.Saturday) && e.Style.ForeColor == Color.Red)
  4.             {
  5.                 e.Style.ForeColor = Color.Blue;
  6.             }
  7.         }
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-2-25 18:01:00
8#
回复 6楼zhangzm1117的帖子

你好,
目前没有没有属性来获取当前月份,可以在加载时通过代码选择日期,从而获取:
  1. private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             this.c1Calendar1.SelectedDates = new DateTime[] { new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day) };
  4.             MessageBox.Show(this.c1Calendar1.SelectedDates[0].ToString());
  5.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部