0

多くのフィールドを持つフォームがありますが、そのほとんどはオプションです。私の手に負えない理由により、必要なフィールドは、たとえば、大きな「REQUIRED」ラベルによって上部にすべてグループ化されるのではなく、フォーム全体に散らばっています。

必須フィールドのみを含むメイン フォームから起動できる別のフォームを作成するように依頼されました。アイデアは、ユーザーがその「必須フィールド」フォームを立ち上げ、入力時にメインフォームに自動的に表示される必要なデータを入力し、「必須フィールド」フォームを閉じて、必要なオプションフィールドに入力できるということですメイン フォームを保存し、最後にフォームを保存します。

「必須」フォームのフィールドは、メイン フォームの関連フィールドとまったく同じデータ ソースにバインドされています。「必須」フォームにのみ情報を入力して保存できるため、正しく機能していることがわかります。入力したデータが保存されます。私の問題は、舞台裏のデータ ソースが更新されている間、他のフォームの対応するフィールドが更新されないことです。どちらのフォームの必須フィールドに入力されたものでも、他のフォームの対応するフィールドにすぐに表示されるようにして、使用するフィールドに関係なく、入力が適切に保存されていることを人々が理解できるようにしたいと考えています。

フィールドを手動で更新して、バインドされたデータへの変更を反映する方法は知っていますが、そのようにすると、両方のフォームで一連のイベント ハンドラーが必要になり、「フィールド X が変更された場合は、他のフォームのフィールド X を変更します」というメッセージが表示されます。ばかばかしいほど反復的であり、結合しすぎています。バインドされたデータ ソースが変更されたときにコントロールが自動的に更新されるように設定する方法はありますか? バインドされたデータ ソースは System.Data.DataSet 内のテーブルであるため、INotifyPropertyChangedを実装する独自のデータ ソースを作成するのはやり過ぎのように思えます。私が気づいていないこれを行う他の方法はありますか?

4

1 に答える 1