• 大小: 41KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: C#
  • 标签: C#  日历控件  源码  

资源简介

一个简单的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个文件信息

评论

共有 条评论