C# Winform模仿百度日历

想写博客不知道从何处开始,就从回忆开始吧.

 

第一个就从自定义日历控件开始

产生背景:

大概2015年时候有个项目要用到日历,用默认日历展示给用户看,用户毫不客气都说界面太丑,最好做成像百度日历那样方便使用。

花费了一些时间感觉模仿相似度达到95%,模糊不清楚是因为图片被压缩了,浏览器中看图片还是挺正常的。

最终效果如下:

 C# Winform模仿百度日历_第1张图片

 

最开始都想法是做成一个网页版百度日历,然后用WebBrowser加载,因为这样相对容易些,下图是用BS实现

C# Winform模仿百度日历_第2张图片

实现是实现了,功能也满足, 开发人员使用起来不方便,最关键都是 用WebBrowser重量级的东西来搞这个心里难受。

 

在第二版本中使用GDI+来绘制,遇到不少问题在此记录

1、ToolTip提示展示位置和外观绘制,以及焦点问题。

2、ComboBox外观处理,点击其他地方自动消失,点击滚动条需要继续。

3、Hook都使用分为 32位和64位。

4、GDI+绘制图形 容易闪烁。

5、每天在桌面创建快捷方式,绘制当前日期图标(.ico)作为快捷方式的图标,因为系统缓存缘故图标却不发生变化。

 

在下篇版本分析逐个问题解决,当前效果如下,感觉录制有些不流畅

C# Winform模仿百度日历_第3张图片

 

发现和百度日历有些不一样,比如节日多了些,每一行前面显示第几周.

C# Winform模仿百度日历_第4张图片

你可能感兴趣的:(C# Winform模仿百度日历)