validate和causesvalidation的區別1

來源:互聯網
上載者:User

我們在設計介面時,經常會遇到需要對一些輸入進行驗證,以保證使用者輸入的有效性,而且為了程式的健壯性,這些驗證應該盡量在最初,即使用者一輸入完就進行驗證,這時,我們就用到了validate  和causesvalidation。

那麼怎樣區別validate  和causesvalidation?

1.validate是事件,causesvalidation是屬性。

2.舉例

 Private Sub object_Validate(KeepFocus As Boolean)

 KeepFocus, 確定控制項是否失去焦點的值。KeepFocus設定為True時,控制項保持焦點。  Validate 事件,是在焦點轉換到另一個控制項之前發生的,此時另一個控制項的 CausesValidation屬性值設定為 True(注意:這是 前提,如果 CausesValidation屬性值設定為 False,將不會發生 Validate
事件 。當一個控制項失去焦點的時候,在觸發它的 LostFocus 事件之前,先被觸發的將是它的 Validation 事件(同樣,下面將要得到焦點的控制項的 CausesValidation 屬性需要設定為 true,否則將不會觸發 Validation)。利用這種性質,可以 在控制項即將失去焦點之前檢驗資料的有效性。 

使用者控制項提供了一個 Validate 事件,它還通過 Extender 對象提供了一個 CausesValidation 屬性。當焦點從該使用者控制項轉移到 CausesValidation 屬性被設定為 true 的其他控制項時,Validate 事件的代碼將被執行;如果將使用者控制項的 CausesValidation 屬性設定為 True,那麼任何將焦點傳遞給使用者控制項的控制項的 Validation 事件都將被觸發。反之,當CausesValidation
屬性設定為false時,則validate事件不被觸發!

 

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.