请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

roger.wang
社区贡献组   /  发表于:2014-5-16 11:52  /   查看:4447  /  回复:2
问题描述:如题
问题解答:可以使用 MouseMove 方法用于获取鼠标位置,再通过HitTestInformation类获取该位置单元格信息。
关键代码:

  1.          void fpSpread1_MouseMove(object sender, MouseEventArgs e)
  2.         {
  3.              HitTestInformation htinfo = this.fpSpread1.HitTest(e.X, e.Y);

  4.              //获取单元格信息
  5.                CellRange cr = this.fpSpread1.GetCellFromPixel(htinfo.RowViewport, htinfo.ColumnViewport, e.X, e.Y);
  6.         }
复制代码


示例下载:点击下载

2 个回复

倒序浏览
fscorpion
金牌服务用户   /  发表于:2014-6-11 12:42:00
沙发
您好,版主,最近在使用这个组件,hittest在silverlight版本上没有开放调用,请问这个问题怎么解决,多谢了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-11 14:15:00
板凳
回复 2楼fscorpion的帖子

你好,
在 Spread for Silverlight 平台下同样提供了该功能,参考代码:

  1. void gcSpread1_MouseDown(object sender, MouseButtonEventArgs e)
  2.         {
  3.             HitTestInformation info = gcSpreadSheet1.HitTest(e.GetPosition(gcSpreadSheet1).X, e.GetPosition(gcSpreadSheet1).Y);
  4.             if (info.HitTestType == HitTestType.Corner)
  5.                 gcSpreadSheet1.Sheets [0].SetText (0,0,"Click SheetCorner of control");
  6.             if (info.HeaderInfo != null)
  7.             {
  8.                 if (info.HeaderInfo.InColumnResize)
  9.                     gcSpreadSheet1.Sheets[0].SetText(0, 0, "Column" + info.HeaderInfo.Column.ToString() + " is resizing");
  10.                 else if (info.HeaderInfo.InRowResize)
  11.                     gcSpreadSheet1.Sheets[0].SetText(0, 0, "Row" + info.HeaderInfo.Row.ToString() + " is resizing");
  12.             }
  13. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册