找回密码
 立即注册

QQ登录

只需一步,快速开始

nssolsh

金牌服务用户

5

主题

21

帖子

137

积分

金牌服务用户

积分
137

活字格认证元老葡萄

最新发帖
nssolsh
金牌服务用户   /  发表于:2016-2-1 16:14  /   查看:5768  /  回复:8
我遇到下面问题:
       我现在做的项目的更新功能需要进行Check,Check分两种,一是需要每行的的CheckBox框选中,另一个就是我遇到的问题。请看以下代码:
       Dim sCLr As Drawing.Color
       sCLr = FpSpread.Sheet(0).Cells(iRow - 1, 0 ).BlackColor
       If sCLr = Drawing.Color.FromArgb(COLOR_EDIT)  Then
           ......
       End If
       其中,在另一段代码中已经将 FpSpread.Sheet(0).Cells(iRow - 1, 0 ).BlackColor设置为Drawing.Color.FromArgb(COLOR_EDIT),但现在遇到的问题就是sCLr = Drawing.Color.FromArgb(COLOR_EDIT) 这句代码始终不等。我DeBug过后发现sCLr取到的值大致是 Name={ffffffff},ARGB={255,128,255,255},而Drawing.Color.FromArgb(COLOR_EDIT)取到的值却是Name={N0fffffff},ARGB={0,128,255,255}。
       我现在十分不解,希望哪位大大能够给予解答!

8 个回复

倒序浏览
nssolsh
金牌服务用户   /  发表于:2016-2-1 16:17:00
沙发
补充说明,使用的是spread for asp.net8.0 + VS2013 ,环境是Win7,浏览器是IE11
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-2-1 16:28:00
板凳
这应该是其他地方充了你的设置。你看看前端是不是有其他css样式设置冲了你对于backcolor的设置?
你在IE里debug一下,看看后台设置的颜色值,在前台是不是一致?
回复 使用道具 举报
nssolsh
金牌服务用户   /  发表于:2016-2-2 10:35:00
地板
我对这段代码再次进行了DeBug,Spread单元格初始的颜色值ARGB={255,255,255,255},在执行FpSpread.Sheet(0).Cells(iRow - 1, 0 ).BlackColor=Drawing.Color.FromArgb(COLOR_EDIT)后,颜色值ARGB变成{255,128,255,255},而Drawing.Color.FromArgb(COLOR_EDIT)的ARGB值是{0,128,255,255}。我现在怀疑是不是FpSpread.Sheet(0).Cells(iRow - 1, 0 ).BlackColor并不支持ARGB模式,Drawing.Color.FromArgb(COLOR_EDIT)则是ARGB模式,我在IE浏览中的确发现颜色改变了,但是因为两者模式不同,所以,始终无法相等。还请能够给与解答!
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-2-2 12:13:00
5#
是这样。目前验证的结果是不管设置什么颜色给Cell的backcolor,backcolor都会把alpha值改成255. 具体原因还不确定,不过你可以尝试这样解决。
用三个参数的方法,不设置alpha值。
  1. Drawing.Color.FromArgb(128,255,255)
复制代码
回复 使用道具 举报
nssolsh
金牌服务用户   /  发表于:2016-2-3 10:04:00
6#
我这边是将COLOR_EDIT设置成公共的,具体写法是 pubilic COLOR_EDIT AS Integer = &H80FFFF。也就是我这个公共参数不再使用了,是吧?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-2-3 11:13:00
7#
用的话,也可以。就是判断的时候,去判断rgb值是否相等,忽略a。
IF sCLr .R = Color.R

评分

参与人数 1满意度 +5 收起 理由
nssolsh + 5 问题圆满解决,感谢!

查看全部评分

回复 使用道具 举报
nssolsh
金牌服务用户   /  发表于:2016-3-3 15:24:00
8#
多谢解答,我的问题解决了,按照您给的方法,直接只设置3个参数,可以进行判断了
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-3 15:29:00
9#
哇,这么久了,你还记得我们,还给我们招呼一声。感动的不要不要的~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部