找回密码
 立即注册

QQ登录

只需一步,快速开始

adolfgzb

初级会员

29

主题

153

帖子

480

积分

初级会员

积分
480

活字格认证

adolfgzb
初级会员   /  发表于:2012-9-5 14:15  /   查看:10571  /  回复:9
现在的的Winform程序,双击选中单元格,会弹出子窗口,子窗口数据更新后自动关闭,返回主Form.

要求返回主Form时选中之前选中的单元格,并且滚动条位置(横向和纵向)也同样记住,保持。

请问应该如何实现?









问题补充
双击的时候,如果没有移动滚动条(横向或者纵向),还是可以记住选中单元格的。但是动了滚动条之后,就记不住了。

还有,现在还有一个需求,选中单元格,点击鼠标右键,右键Menu里也会弹出子窗口,。。。这个子窗口操作完之后,总是记不住选中状态的。

有没有什么固有方法可以直接设置的(单元格的选中,以及滚动条的位置)?

问题解决。

9 个回复

倒序浏览
adolfgzb
初级会员   /  发表于:2012-9-5 17:36:00
沙发
Me.Spread_Sheet1.SetActiveCell(6,8)
        Me.Spread.SetViewportTopRow(0, 6)
        Me.Spread.SetViewportLeftColumn(0, 8)

这样的方法我也试过了,并不是我要的效果。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-5 18:16:00
板凳
回复 2楼adolfgzb的帖子

adolfgzb 你好

不知你是在Spread哪个事件中弹出的新窗体,Spread .NET 6 默认行为是:离开Spread,再返回Spread之前选中的单元格依然处于选中状态。

附件中的例子,在点击单元格之后会弹出一个新窗体,关闭新窗体之后Spread中依然是之前的选中状态。

VS2010 + Spread .NET 6.0.3505
5946_Scroll.zip (10.96 KB, 下载次数: 1176)
回复 使用道具 举报
adolfgzb
初级会员   /  发表于:2012-9-5 18:45:00
地板
谢谢,我先看一下。
回复 使用道具 举报
adolfgzb
初级会员   /  发表于:2012-9-5 19:07:00
5#
dof你好,我这里的Spread是Spread for Windows Forms 5.0,应该没有你说的6.0的默认行为。

我感觉设置默认选中应该有个什么方法的,但是我没有找到。
回复 使用道具 举报
adolfgzb
初级会员   /  发表于:2012-9-5 20:07:00
6#
问题补充:

双击的时候,如果没有移动滚动条(横向或者纵向),还是可以记住选中单元格的。但是动了滚动条之后,就记不住了。

还有,现在还有一个需求,选中单元格,点击鼠标右键,右键Menu里也会弹出子窗口,。。。这个子窗口操作完之后,总是记不住选中状态的。

有没有什么固有方法可以直接设置的(单元格的选中,以及滚动条的位置)?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-6 17:55:00
7#
adolfgzb 你好

我这边使用Spread for WinForms 5.0也没有出现你的问题,能否将你的代码发给我们调一下,此外,这句话【但是动了滚动条之后,就记不住了】,对应的是什么样的操作,我不是是否明白。谢谢!
回复 使用道具 举报
adolfgzb
初级会员   /  发表于:2012-9-6 20:19:00
8#
回复 7楼dof的帖子

感谢dof

问题解决了。记住单元格的选中状态就是直接AddSelection(Row, Column, rowcount, columncount)
就可以了,离开当前页面之前记住上面的四个参数,回来当前页面刷新之后,重新设置就可以了。
回复 使用道具 举报
adolfgzb
初级会员   /  发表于:2012-9-6 20:26:00
9#
另外滚动条的现象就是:把横向滚动条向后移动一段距离,纵向滚动条向下移动一段距离之后,做了数据更新之后,因为要刷新页面,滚动条移动了最上,最左。

现在的解决办法是:在Spread.LeftChange以及Spread.TopChange事件中记住移动的单元格数,
刷新页面之后,用SetViewportTopRow和SetViewportLeftColumn重新设置,达到目的。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-7 08:58:00
10#
理解你的意思了,谢谢你将处理方法同我们分享。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部