DataGridViewの編集コントロール(テキストボックス)にValidationを実装しても、セルの編集時には実行されない。
解説
テキストボックスの編集終了時のイベント発生順序
- Leave
- Validating
- Validated
フォーカスが外れてからValidationが行われる。
DataGridViewのセル編集終了時のイベント発生順序
- CellValidating
- CellValidated
- 編集コントロールの開放が開放され、IsCurrentCellInEditModeがfalseになる
- CellEndEdit
- CellLeave
Validationが行われてから、フォーカスが外れることなく編集コントロールが開放される。このため、テキストボックスのLeave以降のイベントは発生しない。
編集コントロールでValidationを行いたいなら、DataGridViewのイベントで行う必要がある。