Вы можете создать общий одноэлементный класс для хранения ваших данных.
/// <summary>
/// A singleton class to keep your application data
/// </summary>
public class MySharedData
{
/// <summary>
/// Called when data changes
/// </summary>
public event EventHandler DataChanged;
private static MySharedData _instance;
private object _data;
public static MySharedData Instance => _instance ?? (_instance = new MySharedData());
private MySharedData()
{
}
/// <summary>
/// Gets or sets the data you want to share
/// </summary>
public object Data
{
get => _data;
set
{
_data = value;
OnDataChanged();
}
}
protected virtual void OnDataChanged()
{
DataChanged?.Invoke(this, EventArgs.Empty);
}
}
Использование события для уведомления о том, что данные обновлены.
Затем в формах подпишитесь на событие и добавьте свою логику обновления
public class YourForm : Form
{
public YourForm()
{
MySharedData.Instance.DataChanged += Instance_DataChanged;
}
private void Instance_DataChanged(object sender, EventArgs e)
{
// TODO: redraw your form
}
}