找回密码
 立即注册

QQ登录

只需一步,快速开始

keaitutu

注册会员

11

主题

33

帖子

94

积分

注册会员

积分
94

活字格认证

keaitutu
注册会员   /  发表于:2015-8-13 20:20  /   查看:12935  /  回复:14
spread的单元格都设置成Locked=true 以后,选中某一个单元格默认周围有一个黑色的边框,边框里的样色可以修改吗?

14 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-8-14 11:12:00
沙发
您好,
我对您的问题理解是,如果单元格是锁定状态,移到到这个单元格时,边框换一个醒目的颜色,以表示区别?

目前Spread提供给锁定的单元格自定义一个背景色,不知道您的需求是否可以用这样的方式区分?

2015-08-14_112009.jpg (21.52 KB, 下载次数: 659)
回复 使用道具 举报
keaitutu
注册会员   /  发表于:2015-8-14 13:54:00
板凳
多谢版主,忘了说了我的spread是在后台画的,不是在设计器里面。用代码还不知道怎么实现,能否解答一下。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-8-14 14:55:00
地板
您好,
使用以下代码实现:
  1. this.fpSpread1_Sheet1.LockBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
复制代码
回复 使用道具 举报
keaitutu
注册会员   /  发表于:2015-8-14 17:48:00
5#
版主,可是你这句代码实现的是整个spread单元格的颜色,我想要的是一个被锁定的spread里面点击哪个单元格,哪个单元格的背景色是我自己想设置的那个颜色。
因为把spread的单元格用了Locked=true 以后,点锁定的任意一个单元格,背景色都是白色,外面有个黑框。
回复 使用道具 举报
rbgongming
论坛元老   /  发表于:2015-8-17 09:06:00
6#
回复 5楼keaitutu的帖子

每一个单元格都有一个BackColor属性,你可以自己加代码
如果这个单元格是Locked的,那你就可以通过这个属性把
该单元格的背景色设置为你想要的颜色。
把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
keaitutu
注册会员   /  发表于:2015-8-17 09:36:00
7#
@rbgongming , 你好,我的整个spread是只读的,要设置locked的话,也是所有单元格都是locked。就是想改变系统默认的locked属性指定的效果(单元格周围有黑框,但是没有背景色)
            for (int n = 0; n < this.sheet.MaxColumns; n++)
            {
                this.sheet.Columns[n].Locked = true;
            }
            this.sheet.ActiveSheet.LockBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
回复 使用道具 举报
rbgongming
论坛元老   /  发表于:2015-8-17 10:45:00
8#
回复 7楼keaitutu的帖子

亲,你想要实现什么样的效果呢?可以说清楚一点吗?
把你想要的效果在表达一下可以吗?
把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
keaitutu
注册会员   /  发表于:2015-8-17 13:27:00
9#
想实现下图的效果
13.png (8.53 KB, 下载次数: 793)
回复 使用道具 举报
rbgongming
论坛元老   /  发表于:2015-8-17 13:47:00
10#
回复 9楼keaitutu的帖子

理解了你想要的功能,请尝试如下代码:
Private Sub FpSpread1_LeaveCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.LeaveCellEventArgs) Handles FpSpread1.LeaveCell
        '移動前セルの背景色をリセットします
        FpSpread1.ActiveSheet.Cells(e.Row, e.Column).ResetBackColor()
        '移動後セルの背景色を設定します
        FpSpread1.ActiveSheet.Cells(e.NewRow, e.NewColumn).BackColor = Color.SkyBlue
    End Sub

评分

参与人数 1金币 +500 收起 理由
frank.zhang + 500 协助回答问题

查看全部评分

把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部