可用来显示空值的时间选择控件3
点击次数:17 次 发布日期:2008-11-26 23:43:13 作者:源代码网
|
源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 // 该调用是 Windows.Forms 窗体设计器所必需的。 源代码网推荐 源代码网推荐 InitializeComponent(); 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 tbMonth.ContextMenu = mnu ; 源代码网推荐 源代码网推荐 tbYear.ContextMenu = mnu ; 源代码网推荐 源代码网推荐 tbDay.ContextMenu = mnu ; 源代码网推荐 源代码网推荐 this.Height = 21 ; 源代码网推荐 源代码网推荐 this.Value = DateTime.Now ; 源代码网推荐 源代码网推荐 this.DateFormat = "yyyy-MM-dd" ; 源代码网推荐 源代码网推荐 if (!this.DesignMode) 源代码网推荐 源代码网推荐 CreateCalendar() ; 源代码网推荐 源代码网推荐 this.UpDown.Width = 16 ; 源代码网推荐 源代码网推荐 this.Refresh() ; 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 private void CreateCalendar() 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 Calendar = new MonthCalendar() ; 源代码网推荐 源代码网推荐 Calendar.Visible = true ; 源代码网推荐 源代码网推荐 Calendar.DateSelected+=new DateRangeEventHandler(Calendar_DateSelected); 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 frmCalendar = new Form() ; 源代码网推荐 源代码网推荐 frmCalendar.FormBorderStyle = FormBorderStyle.None ; 源代码网推荐 源代码网推荐 frmCalendar.TopMost = true ; 源代码网推荐 源代码网推荐 frmCalendar.Width = 270 ; 源代码网推荐 源代码网推荐 frmCalendar.Height = 145 ; 源代码网推荐 源代码网推荐 frmCalendar.Controls.Add(Calendar) ; 源代码网推荐 源代码网推荐 Calendar.Dock = DockStyle.Fill ; 源代码网推荐 源代码网推荐 frmCalendar.StartPosition = FormStartPosition.Manual ; 源代码网推荐 源代码网推荐 frmCalendar.Deactivate+=new EventHandler(Calendar_Leave); 源代码网推荐 源代码网推荐 frmCalendar.ShowInTaskbar = false ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 private void Calendar_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 this.frmCalendar.Hide() ; 源代码网推荐 源代码网推荐 this.Value = this.Calendar.SelectionStart ; 源代码网推荐 源代码网推荐 this.tbDay.Focus() ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 private void Calendar_Leave(object sender, System.EventArgs e) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 this.frmCalendar.Hide() ; 源代码网推荐 源代码网推荐 //this.Value = this.Calendar.SelectionStart ; 源代码网推荐 源代码网推荐 this.tbDay.Focus() ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 private void RefreshDisplay() 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 bool blGB = false ; 源代码网推荐 源代码网推荐 string strChar = "" ; 源代码网推荐 源代码网推荐 if (strDateFormat == "yyyy-MM-dd") 源代码网推荐 源代码网推荐 strChar = "-" ; 源代码网推荐 源代码网推荐 else if (strDateFormat == "yyyy.MM.dd") 源代码网推荐 源代码网推荐 strChar = "." ; 源代码网推荐 源代码网推荐 else if (strDateFormat == "yyyy/MM/dd") 源代码网推荐 源代码网推荐 strChar = "/" ; 源代码网推荐 源代码网推荐 else if (strDateFormat== "yyyy年MM月dd日") 源代码网推荐 源代码网推荐 blGB = true ; 源代码网推荐 源代码网推荐 else 源代码网推荐 源代码网推荐 strChar = strFomatChar ; 源代码网推荐 源代码网推荐 if (blGB) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 lbSep1.Text = "年" ; 源代码网推荐 源代码网推荐 lbSep2.Text = "月" ; 源代码网推荐 源代码网推荐 lbSep3.Text = "日" ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 else 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 lbSep1.Text = strChar ; 源代码网推荐 源代码网推荐 lbSep2.Text = strChar ; 源代码网推荐 源代码网推荐 lbSep3.Text = "" ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 this.Refresh() ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 /// <summary> 源代码网推荐 源代码网推荐 /// 是不是空值 源代码网推荐 源代码网推荐 /// </summary> 源代码网推荐 源代码网推荐 public bool IsNull() 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 String strYear = tbYear.Text ; 源代码网推荐 源代码网推荐 String strMonth = tbMonth.Text ; 源代码网推荐 源代码网推荐 String strDay = tbDay.Text ; 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 if (strYear == "" ||strMonth == "" ||strDay == "" ) 源代码网推荐 源代码网推荐 return true ; 源代码网推荐 源代码网推荐 else 源代码网推荐 源代码网推荐 return false ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 /// <summary> 源代码网推荐 源代码网推荐 /// 设置值为空(实际为时间的最小值) 源代码网推荐 源代码网推荐 /// </summary> 源代码网推荐 源代码网推荐 public void SetValueNull() 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 this.Value = DateTime.MinValue ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 /// <summary> 源代码网推荐 源代码网推荐 /// 清空输入值 源代码网推荐 源代码网推荐 /// </summary> 源代码网推荐 源代码网推荐 private void EmptyInput() 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 tbYear.Text = "" ; 源代码网推荐 源代码网推荐 tbMonth.Text = "" ; 源代码网推荐 源代码网推荐 tbDay.Text = "" ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 private int GetThisMonthMaxDay() 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 int Year = int.Parse(tbYear.Text) ; 源代码网推荐 源代码网推荐 int Month = int.Parse(tbMonth.Text) ; 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 switch(Month) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 case 2: 源代码网推荐 源代码网推荐 if (DateTime.IsLeapYear(Year))//闰年 源代码网推荐 源代码网推荐 return 29 ; 源代码网推荐 源代码网推荐 else 源代码网推荐 源代码网推荐 return 28 ; 源代码网推荐 源代码网推荐 case 1: 源代码网推荐 源代码网推荐 case 3: 源代码网推荐 源代码网推荐 case 5: 源代码网推荐 源代码网推荐 case 7: 源代码网推荐 源代码网推荐 case 8: 源代码网推荐 源代码网推荐 case 10: 源代码网推荐 源代码网推荐 case 12: 源代码网推荐 源代码网推荐 return 31 ; 源代码网推荐 源代码网推荐 case 4: 源代码网推荐 源代码网推荐 case 6: 源代码网推荐 源代码网推荐 case 9: 源代码网推荐 源代码网推荐 case 11: 源代码网推荐 源代码网推荐 return 30 ; 源代码网推荐 源代码网推荐 default: 源代码网推荐 源代码网推荐 return 31 ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 private void SetRightFmt() 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 if (IsNull()) 源代码网推荐 源代码网推荐 EmptyInput() ; 源代码网推荐 源代码网推荐 else 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 SetRightMonthDay() ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 this.Refresh() ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 private void SetRightMonthDay() 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 int MaxDay = GetThisMonthMaxDay() ; 源代码网推荐 源代码网推荐 int Day = int.Parse(tbDay.Text) ; 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 if (Day > MaxDay) 源代码网推荐 源代码网推荐 tbDay.Text = MaxDay.ToString() ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 private void IncDecDate(int iSign) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 string strYear = tbYear.Text ; 源代码网推荐 源代码网推荐 if (strYear == "") 源代码网推荐 源代码网推荐 strYear = DateTime.Now.Year.ToString() ; 源代码网推荐 源代码网推荐 string strMonth = tbMonth.Text ; 源代码网推荐 源代码网推荐 if (strMonth == "") 源代码网推荐 源代码网推荐 strMonth = DateTime.Now.Month.ToString() ; 源代码网推荐 源代码网推荐 string strDay = tbDay.Text ; 源代码网推荐 源代码网推荐 if (strDay == "") 源代码网推荐 源代码网推荐 strDay = DateTime.Now.Day.ToString() ; 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 string strDate = strYear +"-"+ strMonth +"-" +strDay ; 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 DateTime dtOld = DateTime.Parse(strDate) ; 源代码网推荐 源代码网推荐 if (tbYear.Focused) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 this.Value = dtOld.AddYears(1*iSign) ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 else if (tbMonth.Focused) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 this.Value = dtOld.AddMonths(1*iSign) ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 else 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 this.Value = dtOld.AddDays(1*iSign) ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 private Form GetWindow() 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 Control con = this ; 源代码网推荐 源代码网推荐 while(!(con.Parent is Form)) 源代码网推荐 源代码网推荐 con = con.Parent ; 源代码网推荐 源代码网推荐 return (Form)con.Parent ; 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 /// <summary> 源代码网推荐 源代码网推荐 /// 清理所有正在使用的资源。 源代码网推荐 源代码网推荐 /// </summary> 源代码网推荐 源代码网推荐 protected override void Dispose( bool disposing ) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 if( disposing ) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 if(components != null) 源代码网推荐 源代码网推荐 { 源代码网推荐 源代码网推荐 components.Dispose(); 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 base.Dispose( disposing ); 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网供稿. |
