b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

MonthCalendar的mousedown方法选择日期

电脑杂谈  发布时间:2016-05-27 05:04:57  来源:网络整理

你是否正在寻找关于monthcalendar的内容?让我把最全的东西奉献给你:

写个小应用,主要是方便选中日期到datagridview,就想到利用MonthCalendar显示一个月历,然后利用鼠标点击选择。实现的方法主要是利用了mousedown事件以及monthcalendar的HitTest()方法。

说说 HitTestInfo 类型,这种类型里面包含3种属性:HitArea、Point、Time。其中HitArea是一个枚举,包含

成员名称说明

Nowhere 指定点或者不在月历控件上,或者在控件的非活动部分。

TitleBackground 指定点在月标题的背景上。

TitleMonth 指定点在月标题栏中的月名称上。

TitleYear 指定点在年值上月的标题栏中。

NextMonthButton 指定点在控件右上角的按钮上。如果用户单击此处,则月历将其显示滚动到下一个月或下一组月。

PrevMonthButton 指定点在控件左上角的按钮上,。如果用户单击此处,则月历将其显示滚动到上一个月或上一组月。

CalendarBackground 指定点是日历的背景的组成部分。

Date HitTestInfo 的 Time 属性设置为指定点处的日期。

NextMonthDate 指定点在下一个月(部分显示在当前所显示月份的顶部)的某个日期上。如果用户单击此处,则月历将其显示滚动到下一个月或下一组月。

PrevMonthDate 指定点在前一个月(部分显示在当前所显示月份的顶部)中的某个日期上。如果用户单击此处,则月历将其显示滚动到上一个月或上一组月。

DayOfWeek HitTestInfo 的 Time 属性设置为 0001 年 1 月 1 日。

WeekNumbers HitTestInfo 的 Time 属性设置为最左侧的列中对应的日期。

TodayLink 指定点在月历控件底端的今日链接上。

例如:

tmp.HitTest(e.Location)
{System.Windows.Forms.monthcalendar.HitTestInfo}
HitArea: Date
Point: {X = 136 Y = 97}
Time: {2012/7/1 0:00:00}

而当连续点击到TitleBackground(上面的 “2012年1月”那个区域)时,月历会变成如下:

0次 1次 2次 3次

MonthCalendar的mousedown方法选择日期

MonthCalendar的mousedown方法选择日期

MonthCalendar的mousedown方法选择日期

MonthCalendar的mousedown方法选择日期

所以,根据这些情况,写了以下一个mousedown事件处理方法:

monthcalendar1_MouseDown({
haveHitTitleCnt++;
}

}


}

还有,为了完整一些,将

this.monthcalendar1.MaxSelectionCount = 1;

点击其他部分,像TodayLink,不会引起date部分haveHitTitleCnt变化(即date显示层次(年、月、日)变化),所以就不用处理这些地方了。


以上就是关于monthcalendar的全部内容,相信你一定会非常满意。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-6471-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...