资源简介
一个简单的C#日历控件(源码)
作一个小项目,其中Appointment功能需要日历控件,但C#本身的日历控件不能满足需要,只好自己编写了一个。比较简单,但满足了功能要求。
1.只实现了一个事件:DateChanged取得所选取的日期
private void shyCalendar1_DateChanged(object sender, shyCtrl.shyCalendar.DateChangedEventArgs e)
{
label1.Text = e.GetDate.ToString();
}
2.可以取得当前所选择的日期:
label2.Text = shyCalendar1.CurrDate.ToString();
3.可以设置指定条件的日期的前景色和背景色
shyCalendar1.TermItes[i].ForeColor
.BackColor
.Desc(暂无用)
.Term(格式下面说明)
4.Term的格式
2011.10.20,2011.10.22, .... 指定日期
2011.10.26-2011.10.29, .... 指定日期范围,含-前后的日期
-2011.03.15, 指定日期范围,小于等于-后面的日期
2011.04.20-, 指定日期范围,大于等于-前面的日期
w0,w1,w2,w3,w4,w5,w6 w0表示周日,w1表示周一....
通过这个控件,我可以实现专家预约显示。在日历控件中,专家非工作日是什么颜色,有过预约的日期是什么颜色,预约满了的日期是什么颜色。
控件不能改变大小、字体。不过要做到这点也很容易。懒得做了,满足需要就行了。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace shyCtrl
{
public partial class shyCalendar : UserControl
{
private string CurrYearMonth = ““;
private Listyle> CellstyleList = new Listyle>();
private List _TermItems = new List();
[TypeConverter(typeof(System.ComponentModel.CollectionConverter))]
[DesignerSerializationVisibility( DesignerSerializationVisibility.Content)]
public List TermItems
{
get { return _TermItems; }
}
public class TermList
{
public string Desc { get; set; }
public string Term { get; set; }
public Color BackColor { get; set; }
public Color ForeColor { get; set; }
}
#region DateChanged event
public class DateChangedEventArgs : EventArgs
{
private DateTime dt;
public DateChangedEventArgs(DateTime CurrDay)
{
dt = CurrDay;
}
public DateTime GetDate
{
get { return dt; }
}
}
public delegate void DateChangeEventHandler(object sender DateChangedEventArgs e);
public event DateChangeEventHandler DateChanged;
protected virtual void onDateChanged(DateChangedEventArgs e)
{
if (DateChanged != null)
{
DateChanged(this e);
}
}
public DateTime CurrDate
{
get { return this.dtYearMonth.Value; }
}
#endregion
public shyCalendar()
{
InitializeComponent();
}
private void shyCalendar_Load(object sender EventArgs e)
{
//set Cellstyle according TermItem property
CellstyleList.Clear();
for (int i = 0; i < this.TermItems.Count; i++)
{
CellstyleList.Add(new DataGridViewCellstyle());
CellstyleList[i].ForeColor = this.TermItems[i].ForeColor;
CellstyleList[i].BackColor = this.TermItems[i].BackColor;
}
lblToday.Text = “Today: “ + DateTime.Now.ToString(“dd/MM/yyyy“);
dtYearMonth.Value = DateTime.Now;
}
///
///
///
/// sDate format is yyyy.MM.dd
///
/// format of sTerm:
/// example1: 2011.10.202011.10.22 ....
/// 2011.10.26-2011.10.29 ....
/// -2011.03.15
/// 2011.04.20-
//
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 16384 2011-10-23 14:36 shyCtrl\shyCtrl\bin\Debug\shyCtrl.dll
文件 24064 2011-10-23 14:36 shyCtrl\shyCtrl\bin\Debug\shyCtrl.pdb
文件 8405 2011-10-21 23:37 shyCtrl\shyCtrl\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6097 2011-10-23 14:36 shyCtrl\shyCtrl\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 124 2011-10-21 23:41 shyCtrl\shyCtrl\obj\Debug\GenerateResource.read.1.tlog
文件 290 2011-10-21 23:41 shyCtrl\shyCtrl\obj\Debug\GenerateResource.write.1.tlog
文件 7319 2011-10-22 21:42 shyCtrl\shyCtrl\obj\Debug\ResolveAssemblyReference.cache
文件 592 2011-10-21 23:33 shyCtrl\shyCtrl\obj\Debug\shyCtrl.csproj.FileListAbsolute.txt
文件 16384 2011-10-23 14:36 shyCtrl\shyCtrl\obj\Debug\shyCtrl.dll
文件 24064 2011-10-23 14:36 shyCtrl\shyCtrl\obj\Debug\shyCtrl.pdb
文件 180 2011-10-21 23:41 shyCtrl\shyCtrl\obj\Debug\shyCtrl.shyCalendar.resources
文件 1444 2011-10-21 23:26 shyCtrl\shyCtrl\Properties\AssemblyInfo.cs
文件 10738 2011-10-23 14:36 shyCtrl\shyCtrl\shyCalendar.cs
文件 13358 2011-10-21 23:40 shyCtrl\shyCtrl\shyCalendar.Designer.cs
文件 7084 2011-10-21 23:40 shyCtrl\shyCtrl\shyCalendar.resx
文件 2858 2011-10-21 23:33 shyCtrl\shyCtrl\shyCtrl.csproj
文件 1163 2011-10-23 14:05 shyCtrl\shyCtrl.sln
..A..H. 18432 2011-10-23 14:05 shyCtrl\shyCtrl.suo
目录 0 2011-10-21 23:26 shyCtrl\shyCtrl\obj\Debug\TempPE
目录 0 2011-10-21 23:33 shyCtrl\shyCtrl\bin\Debug
目录 0 2011-10-21 23:27 shyCtrl\shyCtrl\bin\Release
目录 0 2011-10-23 14:36 shyCtrl\shyCtrl\obj\Debug
目录 0 2011-10-21 23:27 shyCtrl\shyCtrl\bin
目录 0 2011-10-21 23:26 shyCtrl\shyCtrl\obj
目录 0 2011-10-21 23:26 shyCtrl\shyCtrl\Properties
目录 0 2011-10-21 23:28 shyCtrl\shyCtrl
目录 0 2011-10-23 14:05 shyCtrl
----------- --------- ---------- ----- ----
158980 27
............此处省略0个文件信息
- 上一篇:asp.net线程教程
- 下一篇:C#RDLC动态加载图片
相关资源
- C#RDLC动态加载图片
- C# TCP网络通信小助手
- C#设计的一键更换IPDNS网关子网掩码还
- c#设计的 LED 字显示程序,使用方法较
- 用C#做的一个画图板工具,可以打开图
- GtkSharp开发教程(Linux&C#)
- C#中DataGridView控件DateTime列插入DateTi
- 个人理财管理系统C#
- C#课程设计班级通知系统
- C#获取串口名称
- C# web编程,登陆界面代码
- C# 图像二值化
- 线索二叉树用c#实现
- c#简单石头剪刀布.zip
- C#的滤波算法,用于实现数据滤波
- 图像处理VS2017C#
- HalconAcqTest.zip
- C# winform 人力资源管理系统 ,vs2010开
- C#与OPC 通讯
- 窗口截图(可后台截取DX窗口).rar
- c# winform 串口电子秤集成开发
- C#窗口实现百度云人脸识别
- VS2017 C#代码配色方案-monokai
- 数据库管理系统
- 大富翁简版小游戏
- C# .net版 RSA 公钥加密私钥解密 私钥加
- c#窗体应用程序实现对数据库的增删查
- C#网络爬虫源码.zip
- 操作系统四个实验[C#版]
- 测绘工程导线测量程序设计
评论
共有 条评论