c#自定义日历插件,给重要日期添加色彩。以及系统自带的monthCalendar日历插件

我的需求:查看日历时候,给一些特定的日期和小时标注凸显出来

作为一个新手,这个过程有多艰辛不多说了。首先给日期凸显

方法一:
使用系统自带的monthCalendar日历控件,这是一个比较完善的控件,但是它为了提高性能,很多东西不支持通过直接改属性或行为就能完成的,比如我们给特定日期加背景色就不行,因为它是通过发Message给系统来改变的,当然网上说可以重写onpaint,我也相信这可以,但是我还不会用,希望会的人能分享一下。monthCalendar虽然不能变颜色但是它有个很关键的属性  BoldedDates获取或设置  DateTime  对象的数组,确定要以粗体显示的非周期性日期。),这个属性可以做到给不同月里的不同日期字体加粗,从而达到效果, 如图一;虽然这样能有一点效果,但还不明显,为此我尝试过重写来实现,可以参考下monthCalendar的api  https://msdn.microsoft.com/zh-cn/library/system.windows.forms.monthcalendar(v=vs.110).aspx :由于时间问题,通过这种方法我还没调试出来该背景色的。有时间在研究一下。

方法二:
通过自定义控件,为此我找到了一个MPK Calendar,这是个自定义的控件,有源码,这个控件也有个属性BoldedDates,同样是加粗,接着还有个属性BoldedDateFontColor
这是给加粗日期改颜色的,效果很好, 如图二:





















图一图二

猜你喜欢

转载自blog.csdn.net/hpymiss/article/details/78487238
今日推荐