在表格控件的使用中,鼠标操作是极其常见的,Spread 可以通过点击坐标来获取当前点击单元格。本篇博客即将介绍获取方法。
本次以鼠标左键点击事件为例,通过 Spread MouseLeftButtonDown 获取点击信息:
Point pt = e.GetPosition(gcSpreadSheet1);
在获取点击坐标后,我们将通过 Spread HitTest 方法来进一步获取当前点击单元格信息,返回值为 HitTestInformation 类型:
HitTestInformation htif = gcSpreadSheet1.HitTest(pt.X,pt.Y);
HitTestInformation 的 HitTestType 属性用于获取当前点击的区域信息:
ColumnHeader |
ColumnRangeGroup |
ColumnSplitBar |
ColumnSplitBox |
Corner |
CornerRangeGroup |
Empty |
FloatingObject |
FormulaSelection |
HorizontalScrollBar |
RowHeader |
RowRangeGroup |
RowSplitBar |
RowSplitBox |
TabSplitBox |
TabStrip |
VerticalScrollBar |
Viewport |
其中 Viewport 代表点击的是普通区域单元格:
if (htif.HitTestType== HitTestType.Viewport)
{int col=htif.ViewportInfo.Column;
int row=htif.ViewportInfo.Row;
MessageBox.Show(string.Format("当前点击单元格为Cell[{0},{1}]", row, col));}
效果截图如下:
关于 Spread for WPF-Silverlight 产品的更多信息:
Demo 下载: