实例介绍
自定义日历控件,可以修改日历头背景色,时间北京色等等,支持多国语言
【实例截图】
【核心代码】
namespace MonthCalendarDemo { using System; using System.Drawing; using System.Globalization; using System.Threading; using System.Windows.Forms; using CustomControls; public partial class Form1 : Form { private bool init; int[] keys = new[] { 0x0020, 0x0021, 0x061B, 0x066B, 0xFDFC, 0x066A, 0x060C, 0x06AF, 0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F, 0x06F0, 0x06F1, 0x06F2, 0x06F3, 0x06F4, 0x06F5, 0x06F6, 0x06F7, 0x06F8, 0x06F9, 0x003A, 0x06A9, 0x003E, 0x003D, 0x003C, 0x061F, 0x066C, 0x0624, 0x200C, 0x0698, 0x064A, 0x064D, 0x0625, 0x0623, 0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x0654, 0x005D, 0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0670, 0x064C, 0x0653, 0x0650, 0x0643, 0x062C, 0x005C, 0x0686, 0x00D7, 0x0640, 0x200D, 0x0634, 0x0630, 0x0632, 0x06CC, 0x062B, 0x0628, 0x0644, 0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x067E, 0x062F, 0x062E, 0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635, 0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E }; public Form1() { //Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("fa-IR"); //Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("fa-IR"); InitializeComponent(); //this.RightToLeft = RightToLeft.Yes; //this.RightToLeftLayout = true; var cat1 = new BoldedDateCategory("Holiday") { ForeColor = Color.DarkBlue }; var cat2 = new BoldedDateCategory("Vacation") { ForeColor = Color.DarkGreen, BackColorStart = Color.Gray, BackColorEnd = Color.White }; this.monthCalendar1.BoldedDateCategoryCollection.AddRange(new[] { cat1, cat2 }); this.datePicker1.BoldedDateCategoryCollection.AddRange(new[] { cat1, cat2 }); this.monthCalendar1.BoldedDatesCollection.Add(new BoldedDate { Category = cat1, Value = DateTime.Today.AddDays(1) }); this.monthCalendar1.BoldedDatesCollection.Add(new BoldedDate { Category = cat2, Value = DateTime.Today.AddDays(2) }); this.datePicker1.BoldedDatesCollection.Add(new BoldedDate { Category = cat1, Value = DateTime.Today.AddDays(1) }); this.datePicker1.BoldedDatesCollection.Add(new BoldedDate { Category = cat2, Value = DateTime.Today.AddDays(2) }); this.label2.Text = this.monthCalendar1.MinDate.ToShortDateString(); this.label3.Text = this.monthCalendar1.MaxDate.ToShortDateString(); this.init = true; //this.monthCalendar1.FormatProvider.MonthNames = new [] { "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند", "" }; //this.datePicker1.FormatProvider.ShortestDayNames = new[] { "ی", "د", "س", "چ", "پ", "ج", "ش" }; this.comboBox1.SelectedIndex = (int)this.monthCalendar1.FormatProvider.FirstDayOfWeek; this.init = false; } //private void TextBox1OnKeyPress(object sender, KeyPressEventArgs e) //{ // if (e.KeyChar > 31 && e.KeyChar < 128) // { // e.KeyChar = (char)keys[e.KeyChar - 32]; // } //} private void customDateTimePicker1_ValueChanged(object sender, CustomControls.CheckDateEventArgs e) { e.IsValid = e.Date.Year <= 2012; this.label5.Text = e.Date.ToShortDateString(); } private void customDateTimePicker1_ActiveDateChanged(object sender, CustomControls.ActiveDateChangedEventArgs e) { if (e.IsBoldDate) { this.label1.Text = "Bolded date is : " e.Date.ToShortDateString() "\nText description here."; } else { this.label1.Text = ""; } } private void button1_Click(object sender, EventArgs e) { this.monthCalendar1.ViewStart = this.monthCalendar1.MinDate; } private void button2_Click(object sender, EventArgs e) { this.monthCalendar1.ViewStart = this.monthCalendar1.MaxDate; } private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e) { this.label4.Text = e.Start.ToShortDateString(); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (this.init || this.comboBox1.SelectedIndex < 0 || this.comboBox1.SelectedIndex > 6) { return; } this.monthCalendar1.BeginUpdate(); this.monthCalendar1.FormatProvider.FirstDayOfWeek = (DayOfWeek)this.comboBox1.SelectedIndex; this.monthCalendar1.UpdateMonths(); this.monthCalendar1.EndUpdate(); this.datePicker1.FormatProvider.FirstDayOfWeek = (DayOfWeek)this.comboBox1.SelectedIndex; this.datePicker1.Refresh(); } private void button3_Click(object sender, EventArgs e) { this.datePicker1.Culture = new CultureInfo("fa-IR"); this.datePicker1.CultureCalendar = new PersianCalendar(); this.datePicker1.Refresh(); } } }
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论