为什么不能接收焦点(Label)的控件会触发Validate事件呢??

tracy_weisheit 2007-09-28 02:13:02
label、image这些控件是不能接收焦点的控件,所以也就没有CauseValidate的属性。但是,比如画面上有2个Text,label和Button控件,Text控件的Validate事件里做对输入的检查,但要求只有在两个Text之间焦点切换的时候做检查,那么会把Button的CauseValidate设置成False。运行后,发现点Labal控件也会触发Text的Validate事件。这是怎么回事儿呢,不是说不能接收焦点的控件不会影响Validate事件么?要怎么处理让点Label的时候,不出发Validate事件?
...全文
223 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不如在LostFocus 事件中验证好了
Fanks 2007-09-28
  • 打赏
  • 举报
回复
Button和Label叠起来放置?能叠起来吗?label能放到button上面吗?你试试看,反而借助Frame可以了,button可以不放到frame里啊,不知道你叠起来的目的是什么?交替隐藏和显示button?
tracy_weisheit 2007-09-28
  • 打赏
  • 举报
回复
不太能接受。如果需要有Button和Label叠起来放置,如果再Frame里面,Frame的Enable也要是False,那么Button就不能用了。这样感觉是很牵强的。我觉得点Label应该想点到Form上一样的,因为是不能接收焦点的,没想到会这样。
Fanks 2007-09-28
  • 打赏
  • 举报
回复
如果Label的Enabled=False的效果你可以接受,那是最省事的,上面的方法少说了一点,Frame的Enable也要是False
tracy_weisheit 2007-09-28
  • 打赏
  • 举报
回复
放在Frame里效果一样,还是会触发Validate事件的。除非Label的Enabled=False
Fanks 2007-09-28
  • 打赏
  • 举报
回复
如果你非要想要在这个事件里检查,那么可以把label放到frame上,并把frame边框设成0

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧