找回密码
 立即注册

QQ登录

只需一步,快速开始

yinzhm

初级会员

32

主题

129

帖子

339

积分

初级会员

积分
339

活字格认证微信认证勋章

[已处理] MouseOver时的颜色

yinzhm
初级会员   /  发表于:2014-7-15 10:23  /   查看:6842  /  回复:4
好!
MultiRow For WinForms 7.0
需求:希望得到如下效果,鼠标悬停在ColumnFooter上时的颜色(MouseOverBackColor),和ColumnFooter默认的颜色一致(BackColor),也就是希望鼠标在ColumnFooter上移动时看不出颜色的变化。

我的做法:
(1)我需要将FlatStyle修改为Flat
(2)修改FlatAppearance的MouseOverBackColor等是可以达到我要的效果的。

问题:
以上方案我用不上啊,我需要在代码中动态改变ColumnFooter的背景色,这时FlatAppearance属性是不可见的,设置不了。
于是我尝试设置Style.MouseOverBackColor。但是,又有一个问题,即使我将Style.MouseOverBackColor与ColumnFooter的背景色设置的完全一致,实际上看到的效果也不同。

鼠标悬停时的颜色会显得比较亮。

斑竹有什么建议,不吝赐教!!!!

4 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-7-15 18:29:00
沙发
回复 1楼yinzhm的帖子

你好,问题已经收到。
测试后给你回复。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
dafo
版主   /  发表于:2014-7-15 19:16:00
板凳
Style.MouseOverBackColor是一个和系统背景色进行叠加计算的颜色,所有和你实际设置的颜色不是很一致。
你可以用FlatAppearance的MouseOverBackColor来实现你的Case,这个属性是可以动态设置的,看下边代码:
  1. (this.gcMultiRow1.ColumnFooters[0][0] as HeaderCell).FlatAppearance.MouseOverBackColor = Color.Red;
复制代码
回复 使用道具 举报
yinzhm
初级会员   /  发表于:2014-7-16 16:51:00
地板
回复 3楼dafo的帖子

非常感谢!

测试可用。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-7-17 18:26:00
5#
回复 4楼yinzhm的帖子

好的。
问题解决。此贴结贴。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部