在表格控件的使用中,鼠标操作是极其常见的,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 下载: