找回密码
 立即注册

QQ登录

只需一步,快速开始

Kissmint

银牌会员

18

主题

36

帖子

2730

积分

银牌会员

积分
2730

活字格认证

Kissmint
银牌会员   /  发表于:2015-3-11 10:54  /   查看:5161  /  回复:1
EditOnEnter模式下,从multirow以外的控件,点击multirow中textboxcell的时候,因为在multirow的enter事件里有check处理,出错的时候会把焦点移到multirow以外的控件上,然后系统又自动触发一次multirow的enter事件,也就是说会触发两次multirow的enter事件,实际上我们只想触发一次multirow的enter事件,请问有什么办法能解决。谢谢。PS:debug了一下好像MultiRow会记住上次点的cell,所以在焦点厉害之后会再走Enter。而checkboxcell和comboboxcell会触发3次Enter事件。

Private Sub MultiRow1_Enter(sender As Object, e As EventArgs) Handles MultiRow1.Enter

        ……(省略)

        G_Rtn = Check()
        If G_Rtn <> 0 Then
            Exit Sub
        End If

        ……(省略)

End Function


Private Function Check() As Integer

        ……(省略)

        If String.IsNullOrEmpty(CD.Text) Then
                MsgBox(“请输入CD”)
                CD.Focus()
                Exit Function
        End If

        ……(省略)

End Function

1 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-3-11 17:33:00
沙发
回复 1楼Kissmint的帖子

对你的代码进行了分析和研究。

MultiRow的事件触发方式就是这样设计的,因此就目前你的构架方式来说,很抱歉的确不能实现需求。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部