找回密码
 立即注册

QQ登录

只需一步,快速开始

lzh3452

论坛元老

32

主题

188

帖子

1万

积分

论坛元老

积分
18686

活字格认证

lzh3452
论坛元老   /  发表于:2012-3-19 08:53  /   查看:8772  /  回复:10
现在,我的操作方式是鼠标双击一个Cell或者在Cell上按下回车键,先设置行和Cell的样式,然后进入编辑状态。但是当直接按下一个键,如字母a时,会自动进入编辑模式,此时样式就会和我设置的样式不一致。所以我希望能禁止这种方式。

10 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-3-19 12:06:00
沙发

回复 1# lzh3452 的帖子

你好,请参考以下代码:

  1.         private void fpSpread1_KeyPress(object sender, KeyPressEventArgs e)
  2.         {
  3.             e.Handled = true;
  4.         }
复制代码
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-3-19 14:18:00
板凳

回复 2# iceman 的帖子

不行啊,我按字母还是会进去,而且都不触发这个事件。
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-3-19 14:43:00
地板

回复 2# iceman 的帖子

我试过了,KeyPress根本不触发,KeyUp要退出编辑模式才触发,KeyDown可以触发,不过没法取消编辑模式。:yun
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-3-19 15:02:00
5#
这是我的测试 Demo,KeyPress 事件可以正常触发:
SpreadforWinForm3.0.rar (39.15 KB, 下载次数: 403)
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-3-19 15:39:00
6#

回复 5# iceman 的帖子

我们的版本号不一样,我是2027.2005,你是2010.2005。
我现在在KeyDown里判断,是可编辑的Spread,且按下的不是回车,上下,上翻页下翻页,Tab,就将当前行Locked=true。在KeyUp里判断,是可编辑的Spread,就把Locked=false。
方法是不太好,不过目前来看好像还没有产生什么不良影响。
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-3-19 15:55:00
7#

回复 5# iceman 的帖子

我把你的Dll都换成我的,重新编译后,确实如你所说的,正常触发了,不过我做的共通Spread就是不触发,也不知道哪里出的问题。每天都在解决这样的问题,真是伤不起啊。。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-3-19 15:58:00
8#

回复 7# lzh3452 的帖子

lzh3452 你好,
能把你的 2027.2005 版本,KeyPress 不起作用 Demo 发到论坛调试吗,我想看看问题究竟?
回复 使用道具 举报
lzh3452
论坛元老   /  发表于:2012-3-19 16:34:00
9#

回复 8# iceman 的帖子

抱歉,不能,涉及信息安全,而且我光继承Spread那个类的文件就有4000+行代码,死在那里,实在是。。。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-3-19 16:49:00
10#

回复 9# lzh3452 的帖子

lzh3452 你好,
可以尝试 Form 上只添加 2027.2005 版本 Spread ,查看 KeyPress 是否能够触发,在对比问题工程,找出原因。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部