找回密码
 立即注册

QQ登录

只需一步,快速开始

qd98zhq

论坛元老

12

主题

61

帖子

1万

积分

论坛元老

积分
15632

活字格认证

qd98zhq
论坛元老   /  发表于:2014-11-14 17:04  /   查看:16529  /  回复:23
大家好,我最近在研究 Spread for WPF 这个表格控件,其中遇到一个难题:我想在某列的单元格中回车后弹出一个窗口,就是类似一个帮助输入的窗口。

wpf-HelpWindow.jpg

33.36 KB, 下载次数: 1109

23 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-11-14 18:17:00
沙发
回复 1楼qd98zhq的帖子

请问您当前遇到的问题是无法获取单元格位置吗?

目前通过回车键盘事件还无法获取,可以通过 MouseLeftButtonDown 事件来获取:
e.GetPosition(gcSpreadSheet1).X , e.GetPosition(gcSpreadSheet1).Y;
回复 使用道具 举报
qd98zhq
论坛元老   /  发表于:2014-11-15 09:05:00
板凳
回复 1楼qd98zhq的帖子

请问您当前遇到的问题是无法获取单元格位置吗?

目前通......
iceman 发表于 2014-11-14 18:17:00


我想发我的Q与你联系,感觉被禁用了。
回复 使用道具 举报
qd98zhq
论坛元老   /  发表于:2014-11-15 09:09:00
地板
回复 1楼qd98zhq的帖子

请问您当前遇到的问题是无法获取单元格位置吗?

目前通......
iceman 发表于 2014-11-14 18:17:00



QQ 249321675.jpg (13.62 KB, 下载次数: 977)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-17 10:52:00
5#
回复 4楼qd98zhq的帖子

抱歉,由于网络环境限制,目前我们还无法登陆 qq,有问题可以在论坛交流。
谢谢
回复 使用道具 举报
qd98zhq
论坛元老   /  发表于:2014-11-17 16:33:00
6#
我的问题简单的来说就是:比如我想在第一行第一列中,在编辑状态下通过双击鼠标或快捷键(回车键)能弹出一个自定义的帮助窗口。比如弹出一个window的窗口,或是悬浮的窗口都可以。我现在就是不知道如何实现。谢谢帮助
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-17 18:35:00
7#
回复 6楼qd98zhq的帖子

问题已经了解了。需要一定的调查时间,在有进展后我会第一时间通知你。谢谢
回复 使用道具 举报
qd98zhq
论坛元老   /  发表于:2014-11-18 11:28:00
8#
另外 的问题:现在我想在单元格中捕捉回车的事件,我经过跟踪与调试好像捕捉不到,是怎么回事,或是其它辅助的方法代替吗,因为要通过回车事件去控制一些操作。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-11-19 09:36:00
9#
回复 8楼qd98zhq的帖子

请使用以下代码捕获单元格编辑事件:

  1. public MainWindow()
  2.         {
  3.             InitializeComponent();
  4.             this.spread.View.EditStarting += View_EditStarting;
  5.             this.spread.View.EditEnd += View_EditEnd;
  6.         }

  7.         void View_EditEnd(object sender, EditCellEventArgs e)
  8.         {
  9.             (this.spread.View.CellEditor as TextBox).RemoveHandler(TextBox.MouseLeftButtonDownEvent, (MouseButtonEventHandler)this.MainPage_MouseLeftButtonDown);
  10.             (this.spread.View.CellEditor as TextBox).KeyDown -= MainWindow_KeyDown;
  11.         }

  12.         void View_EditStarting(object sender, EditCellStartingEventArgs e)
  13.         {
  14.             (this.spread.View.CellEditor as TextBox).AddHandler(TextBox.MouseLeftButtonDownEvent, (MouseButtonEventHandler)this.MainPage_MouseLeftButtonDown, true);
  15.             (this.spread.View.CellEditor as TextBox).KeyDown += MainWindow_KeyDown;
  16.         }

  17.         void MainPage_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  18.         {
  19.             
  20.         }

  21.         void MainWindow_KeyDown(object sender, KeyEventArgs e)
  22.         {
  23.             
  24.         }
复制代码


关于弹出位置的计算,可以通过当前活跃单元格信息获取。
回复 使用道具 举报
qd98zhq
论坛元老   /  发表于:2014-12-19 09:48:00
10#
您好,我现在想把这个Spread 表格控件将网页端运行,如何操作,或是如何使用。请指教,谢谢。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部