TextBox的Validating 和Validated?

niefenger 2002-06-01 11:07:57
加精
请问大家有没有用过TextBox的Validating 和Validated,我在用这的时候总是没什么反应,后来我发现一定要throw出错误才行(如MSDN中的示例所示),这是为什么?
...全文
590 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sumtec 2002-06-02
  • 打赏
  • 举报
回复
忘了说了,Validated事件一定在Validating后面发生。也就是说,如果你没有执行e.Cancel = True 这一句,那么就一定会激发Validated事件。
sumtec 2002-06-02
  • 打赏
  • 举报
回复
Validating事件是在用户改变某个控件的某项值时激发的,比如改变TextBox的Text。通常,要激发Validating需要设CausesValidation属性为true。

你可以在Validating事件里面检查改变的值是否合法。
例如你规定TextBox的Text只能输入ABC三个字母中的某一个或几个,当用户输入或改变时就会激发Validating事件,你可以在Validating事件的委托里面检查TextBox.Text是不是仅仅由ABC三个字母中的某一个或几个构成。
如果是,可以什么都不做就退出该过程;如果不是,你只要执行这一句:
e.Cancel = True
就可以取消操作(可能而已,我没试过。MSDN的说法是:取消该事件之后的所有事件。我不知道TextChanged事件是不是在Validating后面发生。)


e.Cancel = True
^^^^^^^^^^^^^^^^关键就是这一句,而不在于Throw出错误!MSDN的例子里面也有这一句,可能是你没有注意到。

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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