找回密码
 立即注册

QQ登录

只需一步,快速开始

raysoft

论坛元老

4

主题

18

帖子

4956

积分

论坛元老

积分
4956

活字格认证

最新发帖
raysoft
论坛元老   /  发表于:2013-7-21 12:34  /   查看:9686  /  回复:10
如题, FarPoint.Win.ComplexBorder border = fpSpread1.ActiveSheet.Cells[3, 4].Border;

10 个回复

倒序浏览
gw0506
超级版主   /  发表于:2013-7-22 12:30:00
沙发
你给的代码就可以获得Border设置。
所以我不不太明白你问的问题。我理解的你已经自己解决了。
回复 使用道具 举报
raysoft
论坛元老   /  发表于:2013-7-23 12:38:00
板凳
系统报如下错误:
错误        1        无法将类型“FarPoint.Win.IBorder”隐式转换为“FarPoint.Win.ComplexBorder”。存在一个显式转换(是否缺少强制转换?)
回复 使用道具 举报
raysoft
论坛元老   /  发表于:2013-7-23 12:49:00
地板
谢谢,我用这句搞定了。
FarPoint.Win.ComplexBorder border = (FarPoint.Win.ComplexBorder)fpSpread1.ActiveSheet.Cells[3, 4].Border;
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-7-23 13:48:00
5#
回复 4楼raysoft的帖子

好的,感谢你的反馈。
回复 使用道具 举报
raysoft
论坛元老   /  发表于:2013-7-23 15:08:00
6#
不好意思,没有完,语法是通过了,可实际上得不到边框的设置,麻烦LZ帮忙看看!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-7-23 16:50:00
7#
回复 6楼raysoft的帖子

使用以下代码测试结果如何?在我这边可以成功获取:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             FarPoint.Win.ComplexBorder complexBorder1 = new FarPoint.Win.ComplexBorder(new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThickLine));
  4.             this.fpSpread1_Sheet1.Cells.Get(0, 0).Border = complexBorder1;

  5.             FarPoint.Win.ComplexBorder border = (FarPoint.Win.ComplexBorder)fpSpread1.ActiveSheet.Cells[0, 0].Border;

  6.             this.fpSpread1.Sheets[0].Cells[2, 2].Border = border;
  7.         }
复制代码
回复 使用道具 举报
raysoft
论坛元老   /  发表于:2013-7-23 17:53:00
8#
不好意思,应该是我没有表述清楚,我是想得到一个单元格的ComplexBorder边框中四条边中哪条边有画线,哪条边没画线,画的哪种线?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-7-23 18:14:00
9#
回复 8楼raysoft的帖子

以下代码给 一个 Cell 上下左右 分别设置了不同的 边框。然后取值:

  1. FarPoint.Win.ComplexBorderSide topborder = new FarPoint.Win.ComplexBorderSide(Color.Black, 1);
  2.             FarPoint.Win.ComplexBorderSide leftborder = new FarPoint.Win.ComplexBorderSide(Color.Black, 1);
  3.             FarPoint.Win.ComplexBorderSide rightborder = new FarPoint.Win.ComplexBorderSide(Color.Black, 1);
  4.             FarPoint.Win.ComplexBorderSide bottomborder = new FarPoint.Win.ComplexBorderSide(Color.Black, 3, System.Drawing.Drawing2D.DashStyle.Solid, null, new float[] { 0f, 0.33f, 0.66f, 1f });
  5.             FarPoint.Win.ComplexBorder bord = new FarPoint.Win.ComplexBorder(leftborder, topborder, rightborder, bottomborder);

  6.             fpSpread1.ActiveSheet.Cells[0, 0].Border = bord;
  7.             FarPoint.Win.ComplexBorder border = (FarPoint.Win.ComplexBorder)fpSpread1.ActiveSheet.Cells[0, 0].Border;

  8.             this.fpSpread1.Sheets[0].Cells[2, 2].Border = border;

  9.             FarPoint.Win.ComplexBorderSide top = border.Top;
  10.             FarPoint.Win.ComplexBorderSide bottom = border.Bottom;
  11.             FarPoint.Win.ComplexBorderSide left= border.Left;
  12.             FarPoint.Win.ComplexBorderSide right = border.Right;
复制代码
回复 使用道具 举报
raysoft
论坛元老   /  发表于:2013-7-23 21:56:00
10#
多谢,这次应该是没问题了,这个帖子可以关闭了,
我发现一个问题,不知道是不是BUG:
是这样的,我只定义的ComplexBorder的一边:
FarPoint.Win.ComplexBorder bord = new FarPoint.Win.ComplexBorder(leftborder, null, null, null);
应该可以用border.Left.Draw来判定Left边框是否已经设置;
可是我查四边的结果都是True。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部