找回密码
 立即注册

QQ登录

只需一步,快速开始

deppp

论坛元老

43

主题

123

帖子

4662

积分

论坛元老

积分
4662

活字格认证

deppp
论坛元老   /  发表于:2013-1-6 11:46  /   查看:5743  /  回复:6
新问题,当在ge_KeyDown中想让Enter按键无效,应该如何处理?一般的KeyDown中用e.Handled = True来处理就可以了,在这里就不行,是什么原因呢?

6 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-6 11:45:00
沙发
回复 7楼deppp的帖子

deppp 你好

你是想实现什么样的功能呢,详细描述一下。此外,需要处理KeyDown事件的单元格设置的什么CellType,最好把你的工程发给我调试以下。
回复 使用道具 举报
deppp
论坛元老   /  发表于:2013-1-6 13:03:00
板凳
原帖地址:http://gcdn.grapecity.com/showtopic-6698.html

抱歉,昨天是回复这篇帖子,不知道怎么变成发新帖了。

想实现的功能是,某一列为text,想在里面禁止某些字符的输入,比如禁止“¥”或者“%”这样的功能。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-6 18:11:00
地板
回复 3楼deppp的帖子

请参考:
  1.     private void Form1_Load(object sender, EventArgs e)
  2.     {
  3.         fpSpread1.EditModeOn += new EventHandler(fpSpread1_EditModeOn);
  4.     }

  5.     void fpSpread1_EditModeOn(object sender, EventArgs e)
  6.     {
  7.         FarPoint.Win.Spread.CellType.GeneralEditor ge = fpSpread1.EditingControl as FarPoint.Win.Spread.CellType.GeneralEditor;
  8.         if (ge != null)
  9.         {
  10.             ge.KeyPress -= new KeyPressEventHandler(ge_KeyPress);
  11.             ge.KeyPress += new KeyPressEventHandler(ge_KeyPress);
  12.         }
  13.     }

  14.     void ge_KeyPress(object sender, KeyPressEventArgs e)
  15.     {
  16.         if (e.KeyChar == '%')
  17.         {
  18.             e.Handled = true;
  19.         }
  20.     }
复制代码
回复 使用道具 举报
deppp
论坛元老   /  发表于:2013-1-6 18:12:00
5#
抱歉,能否提供下VB.net的代码
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-6 19:02:00
6#
回复 5楼deppp的帖子
  1. Public Class Form1

  2.     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  3.         AddHandler FpSpread1.EditModeOn, AddressOf FpSpread1_EditModeOn
  4.     End Sub

  5.     Private Sub FpSpread1_EditModeOn(sender As System.Object, e As System.EventArgs)
  6.         Dim ge As FarPoint.Win.Spread.CellType.GeneralEditor = TryCast(FpSpread1.EditingControl, FarPoint.Win.Spread.CellType.GeneralEditor)
  7.         If ge IsNot Nothing Then
  8.             RemoveHandler ge.KeyPress, AddressOf ge_KeyPress
  9.             AddHandler ge.KeyPress, AddressOf ge_KeyPress
  10.         End If
  11.     End Sub

  12.     Private Sub ge_KeyPress(sender As Object, e As KeyPressEventArgs)
  13.         If e.KeyChar = "%"c Then
  14.             e.Handled = True
  15.         End If
  16.     End Sub

  17. End Class
复制代码
回复 使用道具 举报
deppp
论坛元老   /  发表于:2013-1-7 11:08:00
7#
已解决 谢谢dof
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部