コントロールと値の連結(databinding)

クラスのプロパティの値をコントロールから制御する場合にdatabindingを使う方法

クラスのプロパティの値をコントロールと連携して処理したい場合が多く出現する。例えば、寸法の数値のプロパティをテキストボックスから制御させたいような場合である。
この場合、テキストボックスと、寸法の数値のプロパティを手動でコーディングして連携させる事も可能であるが、データバインディングの機能を使う事によって、連携の処理の自動化が図れる。

例えば、clsTestというクラスがありblnTestというプロパティを持っているとする。これとチェックボックスcbxTestを結びつけるには次のような処理を行う。
  1. Dim test = New clsTest
  2. test.blnTest = cbxTest.Checked
  3. cbxTest.DataBindings.Clear()
  4. cbxTest.DataBindings.Add("Checked", test, "blnTest")

これにより、cbxTestとtest.blnTestが連結される。

ただし、cbxTestを変更してもvalidationのイベントがかかるまで変更を伝わらない。Validationは別のコントロールにフォーカスを移した時に発生するイベントである。つまり、同じコントロールを連続して変更操作しても、まだユーザの処理は確定していないとみなしてvalidationの処理をかけない。
コントロールで値を変更させてものを、随時反映させるには別の手法か、Validatiuonイベントのコントロールが必要。

タグ:

FAQ
最終更新:2009年06月25日 20:13
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。