Winforms: MonthCalendar的ForeColor和BackColor

一、问题描述

在Vista和Win7中,如果启用了Visual Style,那么我们改变MonthCalendar的ForeColor和BackColor并不能真正改变MonthCalendar的字体和背景颜色。

二、问题重现

1.  启用Visual Style:在Vista中应用Vista主题,在Win7中应用Aero主题;

2.  在Visual Studio中创建Winforms工程;

3.  从工具箱中拖拽一个MonthCalendar到Form1上;

4.  打开属性窗口;

5.  在属性窗口中修改monthCalendar1的ForeColor和BackColor属性;

我们发现monthCalendar1的字体和背景颜色并没有随着ForeColor和BackColor的改变而改变。

三、问题分析

Winforms通过发送消息MCM_SETCOLOR来改变MonthCalendar的颜色。根据MSDN上MCM_SETCOLOR的说明,当启动了Visual Style之后,我们不能改变MonthCalendar的字体和背景颜色,因为Windows会根据系统设置选择合适的颜色进行绘制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值