これが最も単純なシナリオです。いくつかのTextBoxとBindingSourceがあり、DataSetインスタンスにバインドされ、TextBoxがBindingSourceにバインドされているフォームがあります。CurrentItemChanged
これらのTextBoxにテキストを入力しても、BindingSourceでイベントは発生しません。フォーカスを別のテキストボックスに変更しても。別のレコードに移動したときにのみ起動します。これは、に期待されることCurrentChanged
です。MSDNによると:
CurrentItemChangedイベントは、CurrentChangedイベントを発生させるすべての状況に応じて発生します。さらに、CurrentItemChangedは、Currentのプロパティの1つの値が変更されるたびに発生します。
EndEdit()を呼び出さないと、変更がコミットされるため、呼び出したくないことに注意してください。
編集
これが私のバインディングコードです。今、私も追加しましたOnPropertyChanged
が、運がありません。
Me.bsCatItems.DataMember = "catalog_items"
Me.bsCatItems.DataSource = Me.DsInventory
Me.bsItems.DataSource = Me.bsCatItems
Me.bsItems.DataMember = "FK_CatalogItems_Items"
Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.bsItems, "consignment_count", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))