找回密码
 立即注册

QQ登录

只需一步,快速开始

sup_xu

注册会员

3

主题

7

帖子

59

积分

注册会员

积分
59

活字格认证

最新发帖

[已处理] 区域框选问题

sup_xu
注册会员   /  发表于:2013-3-20 21:13  /   查看:5545  /  回复:4
我使用的是spread .net 6.0 for winform控件,我实现和excel类似的框选区域显示区域边框效果,请问如何实现?目前的情况是框选区域之后只能在框选的第一个cell中有边框效果,其他的区域都是阴影效果,但excel中是框选的所有区域都可以有边框效果。

4 个回复

正序浏览
iceman
社区贡献组   /  发表于:2013-3-22 12:11:00
5#
回复 4楼sup_xu的帖子

sup_xu 你好,
Spread 本身没有提供该方法,实现思路即为 3# 中方法。
1.“还要重新将上次画过的内容都去掉”-这个目前无法避免。
2.边框颜色及粗细都可以自定义,完全可以模仿 Excel。
3.“并且效果的呈现是数据按钮mousedown之后才会有效”-可以把代码转移到 fpSpread1_SelectionChanging 事件中进行调试。
回复 使用道具 举报
sup_xu
注册会员   /  发表于:2013-3-22 11:58:00
地板
无人解答吗?
回复 使用道具 举报
sup_xu
注册会员   /  发表于:2013-3-21 17:28:00
板凳
你好,你的方法我已经试过了,画出了上边,但是问题在于当我选择新的区域的时候,还要重新将上次画过的内容都去掉,然后重新绘制,并且效果的呈现是数据按钮mousedown之后才会有效,和excel中框选的时候就产生区域效果还是有区别的,这种方法我感觉并不是非常好,请问还有别的方法吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-3-21 16:32:00
沙发
回复 1楼sup_xu的帖子

你好,
这是画 CellRange 上边方法,其他边可以参考该方法实现:

  1. private void fpSpread1_SelectionChanged(object sender, FarPoint.Win.Spread.SelectionChangedEventArgs e)
  2.         {
  3.             CellRange cr = this.fpSpread1.Sheets[0].GetSelection(0);

  4.             this.fpSpread1.Sheets[0].Cells[cr.Row, cr.Column, cr.Row, cr.Column + cr.ColumnCount - 1].Border = new FarPoint.Win.BevelBorder(FarPoint.Win.BevelBorderType.Raised, Color.Red, Color.DarkRed, 1, false, true, false, false);
  5.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部