C# WinForm开发系列之DataTimePicker控件显示月份的限制和关于DataTimePicker和monthCalendar的样式设置问题
一.首先,在创建的窗体拖入一个dateTimePicker控件,如图1所示:
图1
在Form3窗体加入如下代码控制月份的显示(本例为只显示本月和下个月份时间):
private void Form3_Load(object sender, EventArgs e)
{
this.dateTimePicker1.Value = DateTime.Today;
//取得本月第一天日期時間
DateTime dtimeMin = DateTime.Parse(DateTime.Now.ToString("yyyy/MM/01 00:00:00"));
//取下个月最后一天日期时间
DateTime dtimeMax = DateTime.Parse(DateTime.Today.ToString("yyyy/MM/0123:59:59")).AddDays(-1).AddMonths(2);
//設定可選擇的日期上限
this.dateTimePicker1.MinDate = dtimeMin;
//設定預設顯示的日期下限
this.dateTimePicker1.MaxDate = dtimeMax;
}
运行效果如图2,3所示:
图2
图3
二.在使用DateTimePicker和MonthCalendar这两个控件的时候,发现无论如何设置控件的各种颜色均不起作用,无论是在Property窗口里设置
还是代码中设置,如图4所示:
图4
图5
代码设置如:
//设置控件的TitleBackColor属性,使控件的标题背景为蓝色
monthCalendar1.TitleBackColor = System.Drawing.Color.Blue;
//设置控件的TrailingForeColor属性,使控件其他日期的颜色为红色
monthCalendar1.TrailingForeColor = System.Drawing.Color.Red;
//设置控件的TitleForeColor属性,使标题上的文字为黄色
monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;
窗口设置如图6所示:
//设置控件的TitleBackColor属性,使控件的标题背景为蓝色
monthCalendar1.TitleBackColor = System.Drawing.Color.Blue;
//设置控件的TrailingForeColor属性,使控件其他日期的颜色为红色
monthCalendar1.TrailingForeColor = System.Drawing.Color.Red;
//设置控件的TitleForeColor属性,使标题上的文字为黄色
monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;
这是因为:当启动了Visual Style之后,我们不能改变MonthCalendar的字体和背景颜色,Windows会根据系统设置选择合适的颜色进行绘制,他是通过Winforms发送MCM_SETCOLOR消息来改变MonthCalendar的颜色的。
解决方法:如果通过Program.CS中将Application.EnableVisualStyles()注释掉的话,就可以改变颜色了,但那会很丑陋的
注释下一行代码就可以了:
//Application.EnableVisualStyles();
效果如图7所示:
图7
C# WinForm开发系列之DataTimePicker控件显示月份的限制和关于DataTimePicker和monthCalendar的样式设置问题相关推荐
- WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色
WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色 在B/S开发中,对TreeView控件要改变当前选中节点的颜色比较方便,其有相应的SelectedNodeChanged事件 ...
- C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展
一.需要实现的目标是: 1.将数据绑定到pie的后台数据中,自动生成饼图. 2.生成的饼图有详细文字的说明. 1.设置chart1的属性Legends中默认的Legend1的Enable为false: ...
- .net组件开发系列之武术系列 武术招数 控件生命周期与控件事件机制
.net组件开发系列之武术系列 武术招数 控件生命周期与控件事件机制一.控件生命周期 先回述上篇,可能表述没有不清晰,也可能跨度大了点,好的,我们来一个循序渐进过程,大家都知道,武术都有招术的,先出什 ...
- C# WinForm开发系列 - GDI+【转】
http://blog.csdn.net/blue_sky6/article/details/53811435?locationNum=6&fps=1 C# WinForm开发系列 - GDI ...
- [转载]C# WinForm开发系列 - 文章索引
该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自己对WinForm ...
- C# WinForm开发系列
文章来源:博客园 该系列主要整理收集在使用C#开发WinForm应用文章及相关代码, 平时看到大家主要使用C#来开发Asp.Net应用,这方面的文章也特别多,而关于WinForm的文章相对少很多,而自 ...
- C# WinForm开发系列 - Open-Source Controls
整理了一些在WinForm开发中可以使用的开源组件.(文章及相关代码搜集自网络,仅供学习参考,版权属于原作者! ). 1. 仿office 2007的Ribbon风格面板(该控件模仿office 20 ...
- SNF开发平台WinForm-Grid表格控件大全
我们在开发系统时,会有很多种控件进行展示,甚至有一些为了方便的一些特殊需求. 那么下面就介绍一些我们在表格控件里常用的方便的控件: 1.Grid表格查询条 Grid表格下拉 3.Grid表格弹框选 ...
- C# WinForm开发系列 - OWC
OWC(Microsoft Office Web Components)是 Microsoft Office 使用的数据绑定 ActiveX 控件,用于向 Web 页添加图表功能.OWC支持Micro ...
- WinForm的延时加载控件概述
这篇文章主要介绍了WinForm的延时加载控件,很实用的技巧,在C#程序设计中有着比较广泛的应用,需要的朋友可以参考下 本文主要针对WinForm的延迟加载在常用控件的实现做简单的描述.在进行C#项目 ...
最新文章
- 统计学派的18种经典「数据分析方法」
- linux新用户登陆密码,如何强制Linux用户在第一次登录时更改初始密码?
- boost::fusion::as_list用法的测试程序
- u-boot 2011.09 使用自己的board 以及config.h
- 深入剖析阿里云推荐引擎——新架构,新体验
- Codeforces Round #446 (Div. 1) B. Gluttony 构造 + 补集思想
- mysql 5.6.23免安装_mysql5.6.23免安装配置
- CSS 加过渡效果transition
- python系统信息_Python获得操作系统信息
- 小沙的杀球(贪心+模拟)
- POJ 1611 The Suspects(简单并查集)
- PMP模拟题 | 每日一练,快速提分
- depends的用法
- itunes下载管理appstore老版本app
- codeforces19E Fairy
- 机器人自带触觉反馈,隔空微创手术的利器
- Android实现高德地图POI搜索
- Xilinx Zynq ZynqMP boot模式
- 用什么软件测试mate9的闪存_荣耀v9怎么看闪存类型 荣耀v9怎么测试闪存
- mc服务器对硬盘有要求吗,我的世界电脑配置要求是什么_我的世界电脑配置要求高吗_玩游戏网...