例:
VS を使用して、UserControl から派生した MyControl を作成できます。これには、メンバーまたはプロパティとして一連のデータを追加できます。ビジュアル デザイナーを使用して、MyControl に 2 つのパネルを追加できます。それぞれは、提供するメソッドを使用して、同じデータを異なる形式 (FTSOA では円グラフと棒グラフ) でレンダリングすることを目的としています。
MyControl がこれらのメソッドを使用してパネルを再描画できるようにする方法はいくつかあると思います。
まず、VS を使用して各パネルのペイント イベントを追加します。これは実装が簡単で、メソッドが MyControl クラス内で作成されるので、メソッドが MyControl データにアクセスできるようにします。
次に、各パネルの OnPaint メソッドをオーバーライドします。私の知る限り、これを行うには、関連するクラスを持つパネルごとに UserControl を作成する必要があります。次に、各クラスの OnPaint メソッドをオーバーライドできます。欠点は、各クラスに MyControl データへのアクセスを許可する必要があることです。
第三に、MyControl OnPaint をオーバーライドして各パネルを手動で再描画することも可能ですが (私はこれを行っていません)、グラフィックスなどを取得することは問題です。
質問: (1 & 2) は動作するようにできますが、他の人の意見を知りたいです。