在MonthCalendar控件中选中日期

来源:互联网 发布:剑灵雪域公主数据 编辑:程序博客网 时间:2024/04/30 10:03

MonthCalendar是VS.NET里面的一个日历控件,现在网上也很多日历控件,但VS.NET里这个控件对付不少应用还是足够了。
          

 在这个控件中点每个元素(日期、标题、星期、链接等等)都会触发一个点击事件,而.NET中并没有给每种点击都安排一个事件(只有一个DateSelected事件),因此需要用户自己过滤。
         可以用这样编写这个事件处理函数(这个函数只处理选中日期的情况):

  private void monthCalendar1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e)
        
{        
            
//将用户在MonthCalendar上点击的坐标转换程用户区坐标,并根据坐标获得点击类型
            string s=System.Convert.ToString(monthCalendar1.HitTest(this.PointToClient

MonthCalendar.MousePosition)).HitArea);
           
//如果用户点中了日期则设置并退出
           if(s.Equals("Date"))
           
{
               
//以下记录选中的日期的各个值
                _year=System.Convert.ToString(e.Start.Year);
                _month
=System.Convert.ToString(e.Start.Month);
                _day
=System.Convert.ToString(e.Start.Day);
                _dateSelected
=true;
               
//如果选中日期就自动关闭窗体
                this.Close();
           }

       }