Witam.
Podczas pisania prostej aplikacji okienkowej (na dwóch klasach typu Windows Form) natrafiłem na (pewnie trywialny) problem. Otóż nie wiem jakie polecenie mam wpisać w miejsce ?????? aby w treeView1 pojawił się węzeł o nazwie "Node_added_by_Form2". Kod obu klas:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
treeView1.Nodes.Add("Node_added_by_Form1");
}
private void button2_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button3_Click(object sender, EventArgs e)
{
<span style="color: red"><b>??????</b></span>
}
}
Ja ten problem rozwiązałem następująco:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
treeView1.Nodes.Add("Node_added_by_Form1");
}
private void button2_Click(object sender, EventArgs e)
{
<b><span style="color: red">//Form2 frm = new Form2();
Form2 frm = new Form2(ref treeView1)</span>;</b>
}
}
public partial class Form2 : Form
{
<b><span style="color: red">TreeView treeCopy1 = new TreeView();</span></b>
public Form2()
{
InitializeComponent();
}
<b><span style="color: red">public Form2(ref TreeView treeCopy2)
{
InitializeComponent();
treeCopy1 = treeCopy2;
}</span></b>
private void button3_Click(object sender, EventArgs e)
{
<b><span style="color: red">treeCopy1.Nodes.Add("Node_added_by_Form2");</span></b>
}
}
Obawiam się jednak, że nie jest to rozwiązanie optymalne. Proszę Was o wyrażenie Waszej opini na ten temat oraz o ewentualną propozycję bardziej optymalnego sposobu.
Pozdrawiam.
Rafał (bakłażan)