using System; using System.Windows.Forms; using System.ComponentModel; using CustomControls.BaseClasses; using System.Globalization; namespace CustomControls.Win32Controls { public class DropDownCalendar:DropDownListBase { private MonthCalendar _Calendar; private string _CustomFormat="d"; public event EventHandler DropDown; public event EventHandler DateChanged; private bool _SkipTab=false; [Browsable(false)] [DefaultValue(typeof(bool),"False")] public bool SkipTab { get{return _SkipTab;} set{_SkipTab= value;} } protected override System.Windows.Forms.Control HostedControl { get { return Calendar; } } public DateTime Value { get{return Calendar.SelectionStart;} set { if(value>=MinDate && value<=MaxDate) { Calendar.SelectionStart=value; this.Text=value.ToString(CustomFormat); editControl.SelectAll(); OnDateChanged(new EventArgs()); } else { if(valueCalendar.MaxDate || DateTime.TodayCalendar.MinDate) { Calendar.SelectionStart=Calendar.SelectionStart.AddDays(-1); Value=Calendar.SelectionStart; } } protected override void OnPrevItem() { if(Calendar.SelectionStart