找回密码
 立即注册

QQ登录

只需一步,快速开始

czfolly
金牌服务用户   /  发表于:2016-3-14 09:31  /   查看:4193  /  回复:9
你好,我这有这么一个问题,请教以下。

在Forn的Desiger里边,给Cell的Border进行过花线处理,(通过NameStyles方式)
然后在Form的Load事件中,取Cell的Border的时候,取出来是Nothing,请问是怎么回事,如何取?

以下是一些相关的代码、
Form Desiger----------
Dim ComplexBorder1 As FarPoint.Win.ComplexBorder = New FarPoint.Win.ComplexBorder(New FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine))
NamedStyle1.Border = ComplexBorder1
Me.SpreadA.NamedStyles.AddRange(New FarPoint.Win.Spread.NamedStyle() {NamedStyle1, NamedStyle2, NamedStyle3, NamedStyle4, NamedStyle5, NamedStyle6, NamedStyle7, NamedStyle8, NamedStyle9, NamedStyle10})


Form Load----
Me.ActiveSheet.Cells(v_rowIndex, v_colIndex).Border
是Nothing


9 个回复

倒序浏览
czfolly
金牌服务用户   /  发表于:2016-3-14 10:22:03
沙发
本帖最后由 czfolly 于 2016-3-14 10:32 编辑

补充问题描述
在取Border之前,把RowCount设置成0,在设置成3,然后再取Border的时候就成Nothing了。

但是Load后的 线 还有 颜色都在,请问是怎么回事,如果在把RowCount先设置成0,再设置成3之后 再要取Border怎么取?

VS2013.7z

58.86 KB, 下载次数: 242

回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-14 11:33:10
板凳
你如果是通过NameStyle设置的,那就要在NameStyle里取。
你如果是设置的Border,那就在Border里取。
回复 使用道具 举报
czfolly
金牌服务用户   /  发表于:2016-3-14 13:33:02
地板
本帖最后由 czfolly 于 2016-3-14 13:42 编辑

是这样,是通过NameStyle设置的,现在有下面这种情况

1.MaxRows=0哪个按钮点了之后,所有行就没有了。
2.点击 MaxRows=3哪个按钮,3,指定行和列,点击Button1    -》 Debug看的时候,Cell的NameStyle也是空的,
  
这样的话,Border怎么取出来。麻烦你在确认一下


请你按照我上面的 顺序 确认一下


我个人感觉是,MaxRows=0之后,在MaxRows=3,操作之后


cell的属性 似乎 bi初始化了一样。
回复 使用道具 举报
czfolly
金牌服务用户   /  发表于:2016-3-14 14:46:51
5#
最后,通过这个属性找到了

Me.FpSpread1_Sheet1.Cells(row, col).Parent.Parent.DefaultStyle.Border

也不知道对不对
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-14 15:40:59
6#
MaxRows设为0,Cell就被清空了,所以就跟初始化了一样。
关于你找的这个DefaultStyle.Border,Cell的parent是sheet,sheet的parent是spread,他们之间依次是继承关系。所以当子没有设置的时候,取的是parent的设置。所以你改的地方是对的。

评分

参与人数 1满意度 +5 收起 理由
czfolly + 5 很给力!

查看全部评分

回复 使用道具 举报
czfolly
金牌服务用户   /  发表于:2016-3-14 16:03:09
7#
谢谢,问题已解决了
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-14 17:06:10
8#
我多问一句啊。
之前你在搞SpreadCOM,今天又突然变成Spread WinForms了,这是~~
回复 使用道具 举报
czfolly
金牌服务用户   /  发表于:2016-3-14 17:26:24
9#
我们是把VB6+spread6 升级到。net+spread7
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-14 17:30:27
10#
Spread已经到9了。
升级到.NET好啊,说是刷,我们也不爱支持COM的东西~~~  以后帮你调查问题会更快。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部