找回密码
 立即注册

QQ登录

只需一步,快速开始

zhbchwin

注册会员

4

主题

26

帖子

126

积分

注册会员

积分
126

活字格认证

最新发帖
zhbchwin
注册会员   /  发表于:2015-6-29 22:37  /   查看:9268  /  回复:9
行1
?行2

MultiRow第一列为CheckBoxCell,并且有RowEnter事件。
点击不同行的CheckBox时,只触发RowEnter事件,而没有选中那行的CheckBox,必须点两下CheckBox才行。
这是怎么回事?

9 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-6-30 09:15:00
沙发
回复 1楼zhbchwin的帖子

感谢对该问题的反馈。
根据你的描述,按照如下步骤测试,并未重现你的问题。
测试步骤:
1.Template上按照1楼所示摆放CheckBoxCell和TextBoxCell。
2.在运行时,鼠标直接点击CheckBoxCell的单元格。
结果:CheckboxCell的check状态会发生改变。

请提供重现该问题的必然步骤和Demo,我可以帮你看看问题出在哪里。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
zhbchwin
注册会员   /  发表于:2015-6-30 10:16:00
板凳
回复 2楼Alice的帖子

谢谢你及时回答。
我做的简单的Demo也可以,但那个开发Framework中不行。
刚才发现原因了。
因为点下CheckBox之后,在RowEnter里调了改变Me.Cursor的处理,导致了这个问题。
去掉鼠标样式改变的处理就没问题。

但是这两个怎么关联到一块去了。。。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-6-30 14:23:00
地板
回复 3楼zhbchwin的帖子

你好。
根据你的描述,你在RowEnter中设置的代码逻辑影响到了checkbox的点击。
请将您使用的RowEnter的代码发给我,我帮你看看是哪里出了问题。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
zhbchwin
注册会员   /  发表于:2015-6-30 23:19:00
5#
RowEnter代码:
Application.DoEvents()
Me.Enabled = False
Me.Cursor = Cursor.WaitCursor
'xxx 自己的处理
Application.DoEvents()  ‘起因,去掉这句正常,加上就不正常
Me.Cursor = Cursor.Default
Me.Enabled = True
回复 使用道具 举报
Carl
版主   /  发表于:2015-7-1 11:59:00
6#
Application.DoEvents 是一个功能强大但是副作用很多的方法。调用它会导致原本的同步操作变成了异步操作。
在这个Case中,MouseDown触发了RowEnter,在RowEnter中调用了DoEvents,导致消息队列中的MouseClick和MouseUp被处理,但是MouseDown这个时候还没处理完。
因为处理鼠标点击的时候内部状态还没有同步正确,结果就导致这次鼠标点击无法修改CheckBox的状态。

评分

参与人数 1金币 +500 收起 理由
Alice + 500 感谢帮助,奖励金币

查看全部评分

愿 Engine 归于沉寂,Timer 停止运动,Message Queue 不再流淌,Data Source 为我掌握
回复 使用道具 举报
zhbchwin
注册会员   /  发表于:2015-7-1 12:57:00
7#
回复 6楼Carl的帖子

谢谢回答。
原来是这么回事啊。。
不懂.Net Framework,都不知道Application.DoEvents。。。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-1 15:14:00
8#
回复 7楼zhbchwin的帖子

谢谢@carl 版主的耐心回复。

@zhbchwin 如果有什么问题欢迎提出来讨论。如果没有问题,这个帖子会被关闭。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
zhbchwin
注册会员   /  发表于:2015-7-1 16:51:00
9#
回复 8楼Alice的帖子

没问题了,麻烦关了吧
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-1 17:00:00
10#
回复 9楼zhbchwin的帖子

好的,谢谢你的反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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