ljbpro 发表于 2014-6-16 13:05:00

MouseOver事件

鼠标移动到行header,列header上时,cell的背景色会变化。
能不能实现背景色不变化

追加:作业的版本是multirow 7.0

dafo 发表于 2014-6-16 15:14:00

如果你是想Header的样式跟着Windows系统走,那么这么Hover效果是取决与Window系统的Theme设置,用户仅能修改Window系统的Theme来改变Header的Hover样式.
如果你可以不使用系统的样式,你可以在模版中选择这些HeaderCell,通过属性面板设置它们的FlatStyle = Flat, 并且在FlatAppearance.MouseOverBackColor和Style.BackColor相同的颜色可以禁止掉headerCell的Hover效果。

ljbpro 发表于 2014-6-16 15:51:00

回复 2楼dafo的帖子

headercell的背景色不固定的情况,该如何对应?
例如,点击之后headercell的背景色变为黑色,鼠标hover时背景色也要求为黑色。

dafo 发表于 2014-6-16 16:15:00

HeaderCell.FlatAppearance中你可以通过设置MouseDownBackColor和MouseOverBackColor为黑色来达到你的要求。
MouseDownBackColor仅能设置你鼠标点下去的颜色,如果你是要动态的改变HeaderCell的背景色,你只能在GcMultiRow.CellClick事件中改变点击Cell的Style.BackColor来实现。

ljbpro 发表于 2014-6-16 16:57:00

回复 4楼dafo的帖子

不好意思,可能表述的不清楚。想要实现下面的效果。
headercell未点击时,背景色为蓝色,鼠标hover时也为蓝色,背景色不变。
点击headercell时,背景色变为黑色,鼠标hover时背景色不变,为黑色。
点击其他headercell时,该headercell背景色恢复为蓝色,鼠标hover背景色不变

dafo 发表于 2014-6-16 17:17:00

了解。
1. 设置HeaderCell.FlatStyle = Flat.
2. 设置HeaderCell.Style.BackColor = Blue.
3. 设置HeaderCell.Style.MouseOverBackColor = Transparent.
4. 设置HeaderCell.Style.SelectionBackColor = Black.

补充: 这样的设置无法改变ColumnHeaderCell的选择时变为黑色效果,因为ColumnHeaderCell永远无法选择,所以SelectionBackColor设置不能起作用,要模拟你的需求,仍然需要在GcMultiRow.CellClick事件中动态改变ColumnHeaderCell的Style.BackColor来实现。

Alice 发表于 2014-7-1 18:20:00

回复 5楼ljbpro的帖子

请问你的问题解决了么?如果还有新的问题欢迎开新帖交流。
页: [1]
查看完整版本: MouseOver事件