找回密码
 立即注册

QQ登录

只需一步,快速开始

lmbosos

中级会员

2

主题

19

帖子

615

积分

中级会员

积分
615

活字格认证

最新发帖
lmbosos
中级会员   /  发表于:2012-9-12 13:51  /   查看:6387  /  回复:8
控件版本:Spread for Windows v5.0.3505

8 个回复

倒序浏览
lmbosos
中级会员   /  发表于:2012-9-12 14:10:00
沙发
用过如下方法,均未能正确取得Cell:
1、SpreadView.GetCellFromPixel方法,
  1. var view = fpSpread1.GetRootWorkbook();
  2.             var info = view.GetCellFromPixel(Control.MousePosition.X, Control.MousePosition.Y);
复制代码

2、SpreadView.HitTest方法
3、FpSpread.TextTipFetch事件
回复 使用道具 举报
raysoft
论坛元老   /  发表于:2012-9-12 15:26:00
板凳
我用方法1在 Spread for WinForm v5.0.2018上测试基本成功,只是因为左边有个TreeView,要自己计算鼠标位置
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-12 15:28:00
地板
你是指,在你的Form窗体上有TreeView何FpSpread两个控件的情况下,会出现方法1计算不准确的情况吗?
回复 使用道具 举报
raysoft
论坛元老   /  发表于:2012-9-12 15:32:00
5#
是的
回复 使用道具 举报
lmbosos
中级会员   /  发表于:2012-9-12 16:13:00
6#
我的左边没有TreeView
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-12 18:39:00
7#
我的测试结果正常,可能一个关键的问题时传入鼠标的位置,我实在MouseMove事件中作的:

VS2010 + Spread .NET 6.0.3505 + C#
6009_Mouse.zip (10.12 KB, 下载次数: 373)
回复 使用道具 举报
lmbosos
中级会员   /  发表于:2012-9-13 17:12:00
8#
还是不行,我用的不是6.0版的控件,用的是Spread for Windows v5.0.3505

附件是测试程序

FpSpreadMouseMove.rar

34.89 KB, 下载次数: 344

回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-9-13 18:14:00
9#
如果你要验证鼠标移动结果是否正确,建议你不要通过PropertyGrid来查看结果,可以通过 System.Diagnostics.Debug.WriteLine(string.Format("{0}:{1}",info.Row,info.Column)); 或者fpSpread1.ActiveSheet.SetActiveCell(info.Row, info.Column); 来查看结果。通过这种方法我这边鼠标移动得到的结果也是正确的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部