找回密码
 立即注册

QQ登录

只需一步,快速开始

beitesting

中级会员

28

主题

92

帖子

794

积分

中级会员

积分
794

活字格认证

beitesting
中级会员   /  发表于:2015-1-12 21:28  /   查看:5478  /  回复:6
Spread的版本:Spread For WinForms 3.0

问题:
Spread(3.0)在Enter事件Msgbox表示后,将焦点移动到其他控件,此时Enter事件触发两次,如何解决Enter事件触发两次的问题?

   
  1.     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.         Me.FpSpread1.EditModePermanent = True
  3.         Me.FpSpread1.EditModeReplace = True
  4.         Me.FpSpread1.EditMode = True
  5.     End Sub

  6.     Private Sub FpSpread1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles FpSpread1.Enter
  7.         MsgBox("OK")
  8.         Me.TextBox1.Focus()
  9.     End Sub
复制代码

6 个回复

倒序浏览
beitesting
中级会员   /  发表于:2015-1-12 21:36:00
沙发
问题:通过鼠标单击Spread,将焦点从其他控件移动到Spread时,Msgbox表示两次
想要的结果:Msgbox只表示一次。

先谢谢啦!!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-13 14:05:00
板凳
回复 2楼beitesting的帖子

目前在安装 Spread for WinForms 3 环境,安装成功后给出测试结果。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-13 15:30:00
地板
回复 2楼beitesting的帖子

你好,
很抱歉,触发 FpSpread Enter 事件这个过程我们无法干预。
分别使用了 Spread 8.0 和 3.0 测试,8.0 没有出现调用两次的问题。

建议进行产品升级,下载链接:
http://www.gcpowertools.com.cn/d ... /SpreadStudiov8.zip

谢谢
回复 使用道具 举报
beitesting
中级会员   /  发表于:2015-1-13 20:06:00
5#
谢谢
回复 使用道具 举报
beitesting
中级会员   /  发表于:2015-1-13 21:00:00
6#
这个问题我已经解决了,不过还是要谢谢您。
下面是解决方案:
  1.     Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.         'Me.FpSpread1.EditModePermanent = True
  3.         'Me.FpSpread1.EditModeReplace = True
  4.         'Me.FpSpread1.EditMode = True
  5.     End Sub

  6.     Private Sub FpSpread1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles FpSpread1.Enter
  7.         MsgBox("OK")
  8.         Me.TextBox1.Focus()
  9.     End Sub
  10.     Private Sub FpSpread1_LeaveCell(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.LeaveCellEventArgs) Handles FpSpread1.LeaveCell
  11.         Me.FpSpread1.EditModePermanent = True
  12.         Me.FpSpread1.EditModeReplace = True
  13.         Me.FpSpread1.EditMode = True
  14.     End Sub

  15.     Private Sub FpSpread1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles FpSpread1.MouseDown
  16.         Me.FpSpread1.EditModePermanent = False
  17.         Me.FpSpread1.EditModeReplace = False
  18.     End Sub
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-14 09:25:00
7#
回复 6楼beitesting的帖子

好的,感谢你提供问题解决方法。

为了表示感谢,给您分发 300 金币。可以用于兑换论坛奖品。
金币规则:点击进入
礼品列表:点击进入
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部