找回密码
 立即注册

QQ登录

只需一步,快速开始

mosshill

新手上路

2

主题

3

帖子

38

积分

新手上路

积分
38
  • 35

    金币

  • 主题

  • 帖子

最新发帖
mosshill
新手上路   /  发表于:2013-3-6 09:51  /   查看:5116  /  回复:3
在activeX中是通过Click方法,在方法中判断所点击的行号是否为0.
但是在WinForm版中只有CellClick方法,这个方法感觉只是针对单元格的点击,那我如何来通过对表头的点击来触发一个事件呢?

多谢。

3 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-3-6 14:02:00
沙发
可以通过HitTest方法来判断当前点击的是列头、列脚还是数据区域:

  1.     private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
  2.     {
  3.         var hi = fpSpread1.HitTest(e.X, e.Y);

  4.         switch (hi.Type)
  5.         {
  6.             case FarPoint.Win.Spread.HitTestType.ColumnFooter:
  7.                 //列脚
  8.                 break;
  9.             case FarPoint.Win.Spread.HitTestType.ColumnHeader:
  10.                 //列头
  11.                 break;
  12.             case FarPoint.Win.Spread.HitTestType.Corner:
  13.                 //表角
  14.                 break;
  15.             default:
  16.                 break;
  17.         }
  18.     }
复制代码
回复 使用道具 举报
mosshill
新手上路   /  发表于:2013-3-7 18:32:00
板凳
感谢版主!在cellclick里通过判断fpSpread1.HitTest(e.X, e.Y)是否为FarPoint.Win.Spread.HitTestType.ColumnHeader解决了这个问题。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-3-7 18:37:00
地板
是的,可以通过 Type 的是否为ColumnHeader来判断,是否点击了列头。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部