找回密码
 立即注册

QQ登录

只需一步,快速开始

xaj21

注册会员

7

主题

31

帖子

72

积分

注册会员

积分
72

活字格认证

xaj21
注册会员   /  发表于:2014-4-22 16:09  /   查看:14081  /  回复:8
Spread是singSelect模式,默认选择行的背景色是黑色,字体颜色是白色。(如上图)
若原背景色是淡蓝色,选择行的背景色则变成红色。(如下图)如果不添加任何代码
通过Spread Desinger如何实现?
無題.gif

8 个回复

倒序浏览
xaj21
注册会员   /  发表于:2014-4-22 16:54:00
沙发
补充说明:spread6.0版本在Desinger中自动实现上述效果。修正在7.0中若指定选中背景色是黑色时,全部都会变成黑色
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-4-22 17:17:00
板凳
回复 2楼xaj21的帖子

可以尝试分别设置 SelectionForecolor 和 SelectionBackColor 来实现这个功能。
回复 使用道具 举报
xaj21
注册会员   /  发表于:2014-4-23 17:01:00
地板
每一个行的SelectionForecolor 和 SelectionBackColor 吗?好像不支持把
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-4-23 17:40:00
5#
回复 4楼xaj21的帖子

附件是我通过设计器实现的样式:
12493.zip (55.18 KB, 下载次数: 816)
回复 使用道具 举报
xaj21
注册会员   /  发表于:2014-4-24 13:41:00
6#
提供的源码我看了,这只是所有行被选中的时候的背景色和字体颜色。
没有实现我问题中实现的效果,选中行的背景色根据原来行的背景色不同而不同。
原来背景色是白的,选中后是黑色,原来背景色是蓝色,选中后是红色。
这个效果可以在SelectionChanged中通过代码实现
Private Sub SPD010_SelectionChanged(sender As Object, e As FarPoint.Win.Spread.SelectionChangedEventArgs) Handles SPD010.SelectionChanged
               With SPD010
                       .Row = e.Range.Row + 1
                       If .BackColor = System.Drawing.ColorTranslator.FromOle(&HFFFF80) Then
                               .ActiveSheet.SelectionBackColor = Color.DarkRed
                       Else
                               .ActiveSheet.SelectionBackColor = Color.Black
                       End If
               End With
       End Sub
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-4-24 15:39:00
7#
回复 6楼xaj21的帖子

恩,如果是同一 sheet 中实现不同选择效果,那只能通过代码实现了。
回复 使用道具 举报
xaj21
注册会员   /  发表于:2014-4-24 16:08:00
8#
嗯,只能靠添加代码来实现了,多谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-4-25 09:37:00
9#
回复 8楼xaj21的帖子

恩,感谢反馈问题结果。
有好的使用方法及经验总结,也期待你的分享。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部