基本信息
源码名称:winform 自定义日历控件源码+实例(支持中文)
源码大小:0.10M
文件格式:.zip
开发语言:C#
更新时间:2015-07-06
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
自定义日历控件,可以修改日历头背景色,时间北京色等等,支持多国语言
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();
}
}
}