0

別のフォームで発生するイベントに基づいて、あるフォームを更新する最善の方法を判断するのに苦労しています。

たとえば、私のアプリケーションには、部品のリスト (つまり、在庫、非在庫など) を表示するフォームがありますListView。私のアプリケーションには、ユーザーが新しいパーツを追加できるフォームもあります。アプリケーションはMDI.

項目が他のフォームから挿入、更新、または削除されるたびにパーツのリストを表示するフォームを更新するための最良のオプションは何ですか?

フォームが最初のフォームからインスタンス化されている場合、2 番目のフォームに参照を渡すことができることは理解していますが、フォームを密結合したくないと考えています。カスタム イベントを試してみましたが、両方のオブジェクトにアクセスできるように、フォームのインスタンス化を引き継ぐ中間クラスの実装が必要になると思います。

.NET 組み込みのプロパティを使用できると思います。私の最良の選択肢は何ですか?

4

1 に答える 1

1

2 つのフォームについて話しているだけなら、単純な方法 (たとえば、ファクトリ クラスを使用しない) を使用します。

レシーバーフォームにイベントを追加します(のようなProductListChanged

グローバル変数を (静的クラス プロパティ (以下を参照) を介して) 追加して、レシーバー フォームを保持します。

public class globals {
  public static ProductForm productForm {get;set;}
}

次に、グローバル静的プロパティを介して ProductListChanged イベントを発生させることができます。

于 2013-01-22T23:58:15.977 に答える