Mám třídu Form1 obsahující komponentu DataGridView, kde se zobrazuje seznam položek z Listu. Když kliknu na tlačítko, otevře se mi ItemForm při přidání položky.
namespace Test
{
public partial class Form1 : Form
{
public static List<MyItem> items = new List<MyItem>();
public Form1()
{
InitializeComponent();
//refreshView();
}
public void refreshView()
{
//rady nějak obnovim data v gridu
}
//po kliknutí na tlačítko přidat otevřu form
private void button1_Click(object sender, EventArgs e)
{
ItemForm f = new ItemForm();
f.Show();
}
}
}
Zde je kód druhého formu:
namespace Test
{
public partial class ItemForm: Form
{
public ItemForm()
{
InitializeComponent();
}
//tlačítko pro uložení
private void button1_Click(object sender, EventArgs e)
{
Item s = new MyItem();
s.xy = 1;
Form1.items.Add(s);
this.Hide();
}
}
}
No a problém je ten, že po přidání potřebuju data v gridu obnovit - smazat a zase všechny přidat z "items", ale tim pádem potřebuju nějak ze třídy ItemForm zavolat refreshView z Form1. Asi bych musel udělat refreshView statickou, ale to by přineslo spoustu problémů. Jak tedy na to?