アクセス可能なすべてのグローバル データを保持する静的グローバル クラスを作成できます。または、最初のフォームで作成されたリストを、コンストラクターを介して各サブフォームに渡すことができます
例: (form1)
Form2 frm = new Form2(myList);
フォーム2で
public class Form2:Form
{
List<MyObjects> _globalList = null;
public Form2(List<MyObjects> listData)
{
InitializeComponent();
_globalList = listData;
}
}
次に Form2 内で、渡されたリストを使用して、その要素を変更/追加/削除できます。これらの更新は Form1 にも表示されます。もちろん、Form3 を開くときにも同じ方法を適用できます。
もう 1 つのソリューションでは、アプリケーションのあらゆる場所で使用されるグローバル値を格納する専用のグローバルな静的クラスを構築する必要があります。注意して使用すれば、非常に便利です。
GlobalData.cs ファイル内
public static class MyAppData
{
public static List<MyObjects> GlobalData { get; set; }
}
Form1 で
MyAppData.GlobalData = new List<MyObjects>();
MyAppData.GlobalData.Add(new MyObjects(......));
そしてForm2で
if(MyAppData.GlobalData.Contains(.......))