找回密码
 立即注册

QQ登录

只需一步,快速开始

774828727

银牌会员

12

主题

76

帖子

2972

积分

银牌会员

积分
2972

活字格认证

774828727
银牌会员   /  发表于:2014-3-31 09:53  /   查看:5171  /  回复:2
原来不是点击鼠标左键选中格子么 ,点击右键选中的格子还是原来选中的,
怎样设置点右键的时候选中的是已经选择的区域就不变  如果在没选中的区域点右键则选中的格子变成点右键的那个格子
这个咋实现?

2 个回复

倒序浏览
774828727
银牌会员   /  发表于:2014-3-31 11:59:00
沙发
这是我写的     在CellClick事件里面写的  可以结贴了
        private void fpSpread_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
        {
            // Cell cell = fpSpread.ActiveSheet.Cells[e.Row, e.Column];
            if (e.Button == MouseButtons.Right)
            {//当点击右键时判断当前格子是否在选中区域内

                int l1, h1, l2, h2;
                //选定区域
                CellRange[] cells = fpSpread.ActiveSheet.GetSelections();
                foreach (CellRange cell in cells)
                {
                    h1 = cell.Row;
                    l1 = cell.Column;
                    h2 = cell.Row + cell.RowCount - 1;
                    l2 = cell.Column + cell.ColumnCount - 1;
                    if (!(e.Row >= h1 &amp;&amp; e.Row <= h2 &amp;&amp; e.Column >= l1 &amp;&amp; e.Column <= l2))
                    {//如果当前格子不在选择区域内
                        fpSpread.ActiveSheet.ClearSelection();
                        fpSpread.ActiveSheet.AddSelection(e.Row, e.Column, 1, 1);
                        break;
                    }
                }
            }

        }
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-3-31 18:07:00
板凳
回复 2楼774828727的帖子

:g~ij:
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部