データソースとグリッド コントロールとして BindingList があり、ユーザーがグリッド内の行を削除した場合、確認 (メッセージ ボックスなど) を取得する必要があります。
私が使用しているグリッド コントロール (そして、それらのほとんどを推測します)、RemoveAt(int index)、void の戻り値を持つ Collection のメソッドを呼び出します。bindingList から継承する場合でも、メソッドをオーバーライドするか、新しいそれ(およびその他)の実装、グリッドはユーザーが操作のキャンセルを選択したことを知る方法がないため、役に立ちません...
データバインディングとストックバインディングリスト、グリッドコントロールのみを使用して問題を回避する方法はありますか?
私が行った回避策は次のとおりです。BindingList フォームを継承し、ICancellableRemoving を実装します (単一の "bool RemoveItem(object item)" を含みます)。 b. グリッドから継承し、remove メソッド (または同様のもの) をオーバーライドし、データソースが ICancellableRemoving を実装しているかどうかを確認し、実装している場合はメソッドを呼び出します。 、結果を調べて、それに応じて操作をキャンセル/続行します。
PS インターフェイスを実装したのは、Bool の戻り値を持つ BindingList の唯一の「Remove*」メソッドが Collection の Remove(T Item) であり、それが一般的であるためです...グリッドはそうではありません ;)
前もってありがとう、エリック。